[英]Django - generic ModelAdmin definition
这是一个新手问题。
我想在管理视图中显示多个模型。 当查看模型的记录列表时,我想显示所有模型的字段。 我想定义一个通用的ModelAdmin子类,它将能够列出模型的所有字段。 但是不确定如何将类对象传递给它。 admin.py
看起来像这样
class ModelFieldsAdmin(admin.ModelAdmin):
def __init__(self, classObj):
self.classObj = classObj
self.list_display = [field.name for field in classObj._meta.get_fields()]
admin.site.register(Candy, ModelFieldsAdmin)
admin.site.register(Bagel, ModelFieldsAdmin)
如何传递classObj(它将是Candy或Bagel的模型之一),并确保get_list_display()
从self.list_display
获取值?
这不是正确的方法。 您不应为管理类覆盖__init__
。
而是定义get_list_display
并访问self.model
:
def get_list_display(request):
return [field.name for field in self.model._meta.get_fields()]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.