3

我在开发过程中使用 Django。每次我在模型中进行一些更改时,我都需要删除数据库并运行syncdb,这很烦人。为了测试的目的,我想在每次运行syncdb时自动将一些初始数据添加到数据库中。我试过将这类代码放在一个应用程序中__init__.py,但它会在创建数据库之前运行,处理异常有点烦人。没有更简洁的方法来做到这一点吗?

4

2 回答 2

1

一旦您最初填充了数据库;使用该dumpdata命令创建一个夹具(数据的副本)。将其保存到文件中。然后使用loaddata命令自动填充数据库。

假设你有一个应用程序bookstore,你想自动加载一系列书籍、作者等。

在数据库中添加一些记录后:

python django-admin.py dumpdata bookstore > initial.json

一旦您进行了一些更改或想要重新创建数据库:

python django-admin.py loaddata initial.json

南方很好,但为了这个目的它是矫枉过正的。

于 2013-08-01T07:14:09.240 回答
0

如果您需要对数据库进行更改并且希望您的数据保持安全,那么SOUTH是适合您的软件。

它管理数据库及其数据的变化。如果您有 South,则在进行更改时不需要删除数据库。它还具有数据库先前状态的备份,因此如果您想恢复,您可以。我建议你阅读它的文档。它肯定会有所帮助。

于 2013-08-01T06:36:07.493 回答