1

我正在尝试通过以下步骤将新模型添加到我的生产站点上的预先存在的应用程序中:

  1. 添加模型

  2. admin.site.register(<ModelName>)在应用程序中添加admin.py

  3. ./manage.py schemamigration <appname> --auto

  4. ./manage.py migrate <appname>

    上述步骤适用于我的开发机器(使用 SQLite3),所以我继续

  5. models.py将代码(admin.py和迁移文件)上传到生产机器

  6. 在生产机器上重复第 4 步(使用 MySQL)

  7. service uwsgi restart

迁移工作。我可以在数据库中看到新表,并且可以正确使用模型(./manage.py shell在生产机器上)。唯一的问题是模型未显示在管理站点中。我试过了:

  • 开发站点 + 开发数据库 => 有效。
  • 生产站点 + 生产数据库 => 在管理站点中看不到模型。
  • 开发站点 + 生产数据库 => 在管理站点中看不到模型。

有什么我错过的吗?谢谢。

4

1 回答 1

0

经过一番pdb折腾,我终于找到了问题所在。这是关于权限的。我在我的开发数据库和生产数据库上设置了不同的权限——我是使用开发数据库的超级用户,但无论出于何种原因,我只是生产数据库的一名员工。我添加的新模型的权限设置为仅对超级用户可见,所以显然我在管理页面上看不到它。在我提升自己之后一切正常。

于 2013-02-25T06:45:10.413 回答