我知道我可以使用灯具来提供初始数据。
我可以使用灯具(或类似的* .json文件)来更新现有数据库吗?
具体来说,我可以通过指定pk=null
并使用自然键来更新现有行吗?
答案 0 :(得分:4)
是的,您可以使用loaddata:
./manage.py loaddata path/to/fixture/some_new_data.json
BUT:
initial_data.json
,否则每次syncdb或运行South migraton时都会重新加载,并且会清除自加载灯具后所做的任何更改。 (如前所述[{3}})根据数据的性质,最好使用page。当您为大量记录设置几个值时(例如,更改字段的默认值或使用数据填充空字段),数据迁移可能会很好。数据迁移还允许您通过Python将一些检查/逻辑应用于事物,以便您可以定位更新的记录,或以不同方式更新不同的记录,而不是编写大量的灯具。但是,如果你想加载大量的新记录,那么夹具会更有意义。