在 Django 中,您可以在不总是生成迁移的情况下运行种子数据吗?

Posted

技术标签:

【中文标题】在 Django 中,您可以在不总是生成迁移的情况下运行种子数据吗?【英文标题】:In Django, can you run seed data without always generating a migration? 【发布时间】:2019-08-11 07:45:28 【问题描述】:

我正在使用 Django 和 Python 3.7。我已经为我的数据库创建了一个包含种子数据的 YAML 文件...

./myapp/fixtures/seed_data.yaml

如何在不为其生成新迁移的情况下运行它,如此处所述 -- Loading initial data with Django 1.7 and data migrations ?我认为理论上可能有时我将数据添加到文件中并且我需要重新运行它,因此每次生成新的迁移都会有点麻烦。

【问题讨论】:

【参考方案1】:

迁移只会运行一次,你已经注意到了:)

但是,您始终可以手动运行./manage.py loaddata <fixture>。不知道是不是你要找的。​​p>

【讨论】:

啊,是的,我错过了“loaddata”!谢谢 不客气。但是当您两次加载相同的数据时,您仍然可能会遇到问题。 Django 没有任何“魔法”来防止这种情况(当然)。 可能是因为我的 yaml 文件中有“pk”,但多次运行似乎不会导致任何错误,所以我认为我可能会很好。

以上是关于在 Django 中,您可以在不总是生成迁移的情况下运行种子数据吗?的主要内容,如果未能解决你的问题,请参考以下文章

在不运行“celeryd”的情况下使用 Django+Celery 进行开发?

Django:如何在不刷新页面的情况下更新图像?

Django - 如何在不修改的情况下扩展 3rd 方模型

我可以在不使用 Django 表单的情况下构建我的表单吗?

压缩 Django 迁移时的循环依赖

Django 3.1:带有异步生成器的 StreamingHttpResponse