每当我使用Django South创建datamigration
(但尚未运行它),然后创建schemamigration
向该迁移中涉及的模型添加新字段时, manage.py migrate
上的datamigration
任务失败。
原因是models.py
文件的类定义包含datamigration
无法识别的新字段定义。
有没有办法阻止这种情况?
答案 0 :(得分:6)
在南方数据迁移中,您应该直接更新地参考您的模型。即
from myapp.models import MyModel # <- This is bad in datamigration
MyModel.objects.filter(...)
您必须使用ORM对象
orm.MyModel.objects.filter(...) <- This is good.