我正在尝试通过以下步骤将新模型添加到生产站点上预先存在的应用程序中:
admin.py
添加admin.site.register(<ModelName>)
./manage.py schemamigration <appname> --auto
./manage.py migrate <appname>
上面的步骤在我的开发机器上运行(使用SQLite3),所以我继续
将代码( models.py
, admin.py
和迁移文件)上传到生产机器
service uwsgi restart
迁移有效。 我可以在数据库中看到新表,并且可以正确使用模型(在生产机上使用./manage.py shell
)。 唯一的问题是该模型未显示在管理站点中。 我试过了:
有什么我想念的吗? 谢谢。
经过一些pdb
玩转之后,我终于找到了问题所在。 这与权限有关。 我在开发和生产数据库上设置了不同的权限-出于某种原因,我是使用开发数据库的超级用户,但只有生产数据库上的一名职员。 我添加的新模型的权限设置为仅对超级用户可见,因此很显然,我在管理页面上看不到它。 我提升自己之后,一切都会正常。