使用loaddata

时间:2018-08-27 20:30:24

标签: django django-models

我正在Django项目中工作,我想实现一种简单的方法来生成数据库中用于测试目的的大量对象。这些是我的模型:

class Author(models.Model):

    name = models.SlugField(
        max_length=150,
    )

    last_name = models.CharField(
        max_length=100,
    )

class Book(models.Model):

    author = models.ForeignKey(
        Author,
        on_delete=models.CASCADE,
    )

    name = models.CharField(
        max_length=100,
    )

因此,我需要找到一种简便的方法来生成自定义数量的AuthorBook模型的新实例。

我认为也许我可以使用django的loaddata函数来读取一个json文件,其中包含以下信息:

{
    "authors_number": 1000,
    "books_number_per_author": 4
}

然后,通过读取该文件,脚本将生成1000个Author模型的实例,并将为每个作者生成4个Book模型的实例。 (作者名称和书籍名称可以是随机字符串。)

如果此脚本通过运行命令行命令运行是理想的,出于这个原因,我认为也许可以使用loaddata函数,但是我不知道此命令是否需要json文件的特定结构。

如何以一种干净的方式(使用datamigration浪费时间)生成所有这些对象?

非常感谢您!

0 个答案:

没有答案