繁体   English   中英

Django-通用ModelAdmin定义

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM