寻找一种方法,即使在最新的 Django 1.8 中,也可以将 ModelAdmin 实例分配给与默认应用程序标签不同的标签。
Django 项目架构:
<root>/appone/models.py # class ModelOne(django.db.models.Model)
<root>/appone/admin.py # class ModelOneAdmin(
# django.contrib.admin.ModelAdmin)
# admin.site.register(
# ModelOne, ModelOneAdmin)
<root>/apptwo/models.py # class ModelTwo(django.db.models.Model)
<root>/apptwo/admin.py # class ModelTwoAdmin(
# django.contrib.admin.ModelAdmin)
# admin.site.register(
# ModelTwo, ModelTwoAdmin)
在上面的示例中,每个模型都出现在管理界面中,在其单独的组中,这些组由应用程序名称标记。
--- appone
|
+--- ModelOne
--- apptwo
|
+--- ModelTwo
如何告诉 Django ModelTwo
放在 appone
标签下? (无需更改 appone
应用程序源及其模型!)
--- appone
|
+--- ModelOne
|
+--- ModelTwo
--- apptwo
<empty>
最佳答案
只需将 app_label
添加到 ModelTwo
的 Meta
类:
class ModelTwo():
class Meta:
app_label = 'appone'
警告:如@guymaro86 所述,这将更改表的数据库名称并导致迁移。
关于python - 管理员中其他应用标签下的 Django 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29607081/