这是一个新手问题。
我有多个模型,我想在管理员视图中显示。当查看模型的记录列表时,我想显示所有模型的字段。我想定义一个通用的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获取值?
发布于 2018-12-07 05:30:57
这不是正确的方法。您不应该覆盖管理类的__init__。
相反,应该定义get_list_display并访问self.model
def get_list_display(request):
return [field.name for field in self.model._meta.get_fields()]https://stackoverflow.com/questions/53659153
复制相似问题