自动为Django模型生成数据的工具

32 投票
6 回答
20155 浏览
提问于 2025-04-16 15:36

我想测试一些在Django教程中讲解的模型。有没有什么自动的方法可以用示例数据填充这些模型呢?这是其中一个模型:

class Book(models.Model):
    name = models.CharField(max_length=300)
    pages = models.IntegerField()
    price = models.DecimalField(max_digits=10, decimal_places=2)
    rating = models.FloatField()
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)
    pubdate = models.DateField()

有什么建议吗?

6 个回答

8

django-dilla 是一个专门用来给你的 Django 模型填充“垃圾”数据的工具。下面的内容直接来自网站的示例,前提是你已经设置好了一些参数。这个工具甚至允许你定义自己的“垃圾数据生成器”,可以按照特定的格式生成数据。

$ ./manage.py run_dilla --cycles=100
Dilla is going to spam your database. Do you wish to proceed? (Y/N)Y
Dilla finished!
    2 app(s) spammed 900 row(s) affected, 2498 field(s) filled, \
    502 field(s) ommited.
8

http://www.generatedata.com/

这个网站提供了一些很不错的通用字段类型,这些字段类型并不是专门为Django这个框架设计的。

25

我自己没用过,但django-autofixture看起来正是你想要的东西。

还有其他类似的应用可以在这个列表中找到:https://www.djangopackages.com/grids/g/fixtures/

撰写回答