Kry*_*ski 4 django django-south
我正在使用Django 1.5b1和南部迁移,生活一般都很棒.我有一些架构更新,用于创建我的数据库,其中包括User表.然后ff.User我为(我的自定义用户模型)加载一个fixture :
def forwards(self, orm):
from django.core.management import call_command
fixture_path = "/absolute/path/to/my/fixture/load_initial_users.json"
call_command("loaddata", fixture_path)
Run Code Online (Sandbox Code Playgroud)
一直都很好,直到我在我的ff.User模型中添加了另一个字段,远离迁移线.我的夹具负载现在中断:
DatabaseError: Problem installing fixture 'C:\<redacted>create_users.json':
Could not load ff.User(pk=1): (1054, "Unknown column 'timezone_id' in 'field list'")
Run Code Online (Sandbox Code Playgroud)
Timezone是我添加到用户模型的字段(ForeignKey).
ff.User与数据库中的不同,因此Django ORM放弃了DB错误.不幸的是,我不能在我的夹具中指定我的模型orm['ff.User'],这似乎是南方的做事方式.
我应该如何使用南方正确加载灯具,以便一旦这些灯具的模型被修改后它们不会断开?
我找到了一个可以完成这项工作的Django代码片段!
https://djangosnippets.org/snippets/2897/
它根据夹具中冻结的模型加载数据,而不是应用程序代码中的实际模型定义!适合我的作品.
| 归档时间: |
|
| 查看次数: |
3783 次 |
| 最近记录: |