我有Django 1.7.9和python 2.7。我需要多个ModelAdmin 一个模型。其中一个是标准的,另一个是一些 恒定的价值观例如,我有带外键的模型Item Categiries。我需要模型管理员来创建具有常量的Item 每个类别的价值。我该怎么做?有可能吗?)
答案 0 :(得分:2)
代理模型方法可以让你遇到一些带权限的麻烦(代理模型有自己的权限)。
您可以通过/admin/<app>/<model>/<id>/alternate_view/
:
class YourModelAdmin(ModelAdmin):
def get_urls(self):
alternate_admin = SecondModelAdmin(self.model, self.admin_site)
from django.conf.urls import patterns, url
def wrap(view):
def wrapper(*args, **kwargs):
return self.admin_site.admin_view(view)(*args, **kwargs)
return update_wrapper(wrapper, view)
urlpatterns = super(YourModelAdmin, self).get_urls()
urls = patterns('',url(r'^(.+)/alternate_view/$', wrap(alternate_admin.change_view), name='svod_analisys'))
return urls + urlpatterns
答案 1 :(得分:1)
创建代理模型 - 允许您将其作为不同的模型在admin中注册,但它仍然是相同的:
class MyModel(models.Model):
pass
class MyModelAgain(MyModel):
class Meta:
proxy = True
admin.py:
admin.site.register(MyModel)
admin.site.register(MyModelAgain)