有没有一种简单的方法可以在Django中创建一个fixture而不使用dump_数据?

有没有一种简单的方法可以在Django中创建一个fixture而不使用dump_数据?,django,Django,有没有一种简单的方法来创建装置,而不使用转储数据?我们有一个复杂的数据库,似乎不使用dump_数据而直接创建夹具将意味着大量的工作 我是否可以创建对象并将其写入json,以便将其用作装置 请注意,我们正在使用多个应用程序,数据在应用程序之间引用。如何使用DRF的序列化程序?(或您熟悉的任何图书馆) 您可以使用DRF轻松地将对象序列化为json 只需将它们输出到文件。我已经使用了好几年,发现它真的很棒。它根据您的模型定义生成装置 如果您有一个模型Project,您可以使用命令G(Project)在

有没有一种简单的方法来创建装置,而不使用转储数据?我们有一个复杂的数据库,似乎不使用dump_数据而直接创建夹具将意味着大量的工作

我是否可以创建对象并将其写入json,以便将其用作装置


请注意,我们正在使用多个应用程序,数据在应用程序之间引用。

如何使用DRF的序列化程序?(或您熟悉的任何图书馆)

您可以使用DRF轻松地将对象序列化为json

只需将它们输出到文件。

我已经使用了好几年,发现它真的很棒。它根据您的模型定义生成装置

如果您有一个模型
Project
,您可以使用命令
G(Project)
在测试环境中生成夹具,并可以选择使用
G(Project,name='test')
等对其进行自定义

from django_dynamic_fixture import G
from apps.projects.models import Project

class TestProject(TestCase):
    """
    Test project name
    """
    def setUp(self):
        self.project1 = G(Project)
        self.project2 = G(Project, name="my project")

    def test_project(self):
        self.assertTrue(self.project1)

    def test_name(self):
        self.assertEqual(self.project2.name, "my project")

我是否需要首先创建模型的实例,即以某种方式填充数据,然后使用G(Blog)?否-它使用模型定义自动填充实例。我在回答中添加了一个链接到github的更详细的示例-以下是文档:详细示例在哪里?自动填充是如何完成的,是随机字符串和数字吗?是的,它根据数据库字段随机生成所有内容。你看过医生了吗?他们非常全面,我不确定加载数据(即夹具文件)所需的数据格式,尤其是对于复杂的数据库。我不确定是否可以序列化然后加载数据。根据我的经验,加载fixture文件的方式没有那么灵活。所以我很难按照我想要的方式转储数据。我认为DRF是一个很棒的工具,它可以将数据序列化为django可以理解的格式,以便稍后加载。我无法理解您的问题。为什么不创建一个对象并转储数据?那么转储大量数据需要做很多工作吗?通常我创建Factory对象是为了进行测试
FactoryBoy
。如果我需要1000甚至100个对象呢?数据库相当复杂。另外,部分数据是使用其他软件创建的。我正在探索在没有软件的情况下创建数据。你能写一个简单的脚本来循环创建吗?