Django south如何添加新的mod

2024-04-30 22:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我是第一次使用Django South。我已经成功地使用Django South更新了我的数据库,而没有删除我的整个数据库。 这是查询django south migration error relation “photo_photo” already exists

但每当我想添加一个新模型时,我都会遇到一个错误,因为我已经在我的管理员py文件

上面给出的查询是关于现有模型中的更改,谢天谢地,我成功地更新了我的数据库。在

但是在遵循来自South Tutorial的相同命令后,我无法在数据库中添加新模型,显然该模型显示在django管理站点中,但是在我单击该模型或在我想将任何内容保存到该模型之后,我将面临以下错误

DatabaseError at /admin/photo/userreferralcode/
relation "photo_userreferralcode" does not exist
LINE 1: SELECT COUNT(*) FROM "photo_userreferralcode"

我的模型.py在

^{pr2}$

我的管理员py在

from app.models import UserReferralCode 

admin.site.register(UserReferralCode)

我还在我的主urls.py中添加了admin.autodiscover() 。在

在提到新迁移(因为我打算添加一个新模型)中,我一步一步地编写了以下命令

第一个

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" 

在“提及我的应用程序名为照片”

现在有什么问题或者我在这里遗漏了什么。在


Tags: djangopy模型命令数据库manageadmin管理员
1条回答
网友
1楼 · 发布于 2024-04-30 22:56:16

创建应用程序的第一次迁移时使用 initial。之后,每次更改模型或添加新模型时都会使用 auto。(对于另一个django应用程序,在第一次迁移时运行 initial),依此类推)

因此,考虑到您前面的问题,您应该应用以下步骤:

  1. Photo和{}添加到你的models.py中。在
  2. python manage.py schemamigration photo initial。在
  3. python manage.py migrate photo。在
  4. (进行了更改并为其创建迁移)
  5. UserReferralCode添加到models.py。在
  6. python manage.py schemamigration photo auto。在
  7. python manage.py migrate photo。在

顺便说一句,一旦你使用了migrate,你就不必使用syncdb,因为migrate打算以更方便的方式取代{}。在

相关问题 更多 >