我第一次使用Django South。我已经成功使用Django South更新我的数据库而不删除我的整个数据库。 这是查询django south migration error relation “photo_photo” already exists
但每当我想添加新模型时,我都会遇到错误。提到我已经在admin.py文件中添加了所有人员
以上给出的查询是关于现有模型中的更改,谢天谢地我已经成功更新了我的数据库。
但是在从South Tutorial执行相同的命令之后,我无法在我的数据库中添加新模型,显然模型显示在django管理站点中,但是在我点击该模型之后或之后我想保存任何东西到该模型,我面临以下错误
DatabaseError at /admin/photo/userreferralcode/
relation "photo_userreferralcode" does not exist
LINE 1: SELECT COUNT(*) FROM "photo_userreferralcode"
我的model.py
class UserReferralCode(models.Model):
owner = models.CharField(max_length=300,blank=True,null=True)
referral_code = models.CharField(max_length=300,blank=True,null=True)
created_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
我的admin.py
from app.models import UserReferralCode
admin.site.register(UserReferralCode)
我还在我的主admin.autodiscover()
中添加了urls.py
。
提到新迁移(因为我打算添加新模型)我已经逐步编写了以下命令
第一
python manage.py schemamigration photo --initial
然后第二次
python manage.py migrate photo
然后是第三次
python manage.py schemamigration photo --auto
然后第四次
python manage.py migrate photo
然后
python manage.py syncdb
在完成所有这些工作人员之后,模型UserReferralCode
已添加到django管理站点中,我可以看到它,但点击这个新添加的模型或在此模型上保存任何内容后,我面临以上给定错误,我再次在这里给它。
DatabaseError at /admin/photo/userreferralcode/
relation "photo_userreferralcode" does not exist
LINE 1: SELECT COUNT(*) FROM "photo_userreferralcode"
提到我的应用名称是照片
现在问题或我在这里失踪的是什么。
答案 0 :(得分:2)
--initial
。之后,每次更改模型或添加新模型时都会使用--auto
。 (对于另一个django应用程序,您运行--initial
并进行第一次迁移,依此类推)
因此,考虑到您之前的问题,您应该应用以下步骤:
Photo
和UserCommission
添加到您的models.py
。python manage.py schemamigration photo --initial
。python manage.py migrate photo
。UserReferralCode
添加到models.py
。python manage.py schemamigration photo --auto
。python manage.py migrate photo
。顺便说一下,一旦您使用migrate
,您就不必使用syncdb
,因为migrate
打算更方便地替换syncdb
方式。