模型稍后更改时Django数据迁移出现问题
假设我有一个Django模型,看起来像这样:模型稍后更改时Django数据迁移出现问题,django,django-models,django-migrations,Django,Django Models,Django Migrations,假设我有一个Django模型,看起来像这样: class MyEntity(models.Model): my_first_attribute = models.CharField(max_length=50) 我创建了一个在MyEntity模型中插入一些值的数据迁移 然后我创建一个模式迁移,添加另一个属性“my_second_attribute” 如果在新数据库上运行./migrate.py,则运行数据迁移会失败,Django会抱怨myentity.my_second_属性不存在 是
class MyEntity(models.Model):
my_first_attribute = models.CharField(max_length=50)
我创建了一个在MyEntity模型中插入一些值的数据迁移
然后我创建一个模式迁移,添加另一个属性“my_second_attribute”
如果在新数据库上运行./migrate.py,则运行数据迁移会失败,Django会抱怨myentity.my_second_属性不存在
是否有解决方案?请确保您的函数执行以下操作:
Person = apps.get_model("yourappname", "Person")
而不是使用这个:
from yourappname.models import Person
前者将采用先前模式迁移定义的数据库模式和模型(如migration.dependencies
中所述)
后者将使用的当前源可能远远超过迁移文件已知的状态。是否运行了
/manage.py makemigrations
,然后运行了/manage.py migrate
?