在Django ModelAdmin中显示继承的字段

时间:2020-09-14 08:10:21

标签: python django django-admin

我有如下的models.py文件。

from django.db import models

class UpdateCreateModelMixin:
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

class Question(UpdateCreateModelMixin, models.Model):
    name = models.CharField(max_length=100)
    code = ...
    ... (Some more field)

如何在Django模型管理中显示更新的创建字段,我的admin.py文件为

from django.contrib import admin
from .models import Question

class QuestionAdmin(admin.ModelAdmin):
    list_display = ('name', 'created', 'updated')
    list_filter = ('created')

admin.site.register(Question, QuestionAdmin)

对于上述admin.py文件,出现此错误。

<类'assignments.admin.QuestionAdmin'>:(admin.E116)'list_filter [0]'的值涉及'created',而不涉及字段。

那么,如何在django模型的Admin中添加继承的字段,为什么上面的方法失败?

1 个答案:

答案 0 :(得分:1)

class UpdateCreateModelMixin(models.Model):
    class Meta:
        abstract = True
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

class Question(UpdateCreateModelMixin):
    name = models.CharField(max_length=100)
    code = ...
    ... (Some more field)