覆盖Django中可重用应用程序的Admin.py文件

时间:2013-07-20 17:38:42

标签: django django-models django-admin django-modeladmin

我基本上有2个外部Django应用程序覆盖 UserAdmin 模型。 其中每一个都将首先取消注册UserAdmin模型,然后注册自己的模型,如下所示:

admin.site.unregister(get_user_model())
admin.site.register(get_user_model(), ExternalAppUserAdmin)

我也反过来覆盖UserAdmin:

admin.site.unregister(get_user_model())
admin.site.register(get_user_model(), MyAppUserAdmin)

问题在于,根据设置文件中INSTALLED_APPS的顺序,只有最后一个应用实际上会覆盖UserAdmin

大多数时候,这些覆盖只是{1}}在AdminUser中,所以我到目前为止所做的是导入外部应用程序的InlineModelAdmin模型并将它们插入到我自己的admin.py中。例如:

InlineModelAdmin

但这对我来说似乎有些苛刻,因为例如:

  • 第一个外部应用程序将取消注册UserAdmin,然后使用自己的自定义
  • 再次注册
  • 第二个外部应用程序将执行相同操作,实际上会覆盖第一个
  • 我自己的应用程序应该从外部应用程序导入所有AdminInline并将其包含在我自己的UserAdmin注册中

这不是浪费精力吗?你有更好的主意吗?

0 个答案:

没有答案