【发布时间】:2015-04-24 08:38:13
【问题描述】:
我在models.py 中找到了一些模型,如下所示:
class QuestionPackage(models.Model):
"""Question Package"""
class Question(models.Model):
question_package = models.ManyToManyField(QuestionPackage, blank=True)
name = models.CharField(max_length=128)
answer = models.TextField()
class Reading(Question):
"""Reading Question"""
class Writing(Question):
"""Writing Question"""
(阅读和写作之间存在一些差异,但我省略了。)
在admin.py:
class ReadingInline(admin.TabularInline):
model = Reading.question_package.through
class WritingInline(admin.TabularInline):
model = Writing.question_package.through
class QuestionPackageAdmin(admin.ModelAdmin):
inlines = [
ReadingInline, WritingInline,
]
我发现在question package 管理页面的内联表单中,Reading 和Writing 都显示为Question,我无法区分。而且他们没有编辑按钮。
在这种情况下我应该怎么做才能让管理员显示子类模型?
【问题讨论】:
-
你使用的是哪个 Django 版本?
-
@lapinkoira 我用的是 1.8
-
你能检查我的答案并显示课堂阅读和课堂写作代码吗?
-
@lapinkoira 我有
def __str__()的所有子类,我认为这是选择框的名称,但不是标题。 -
那你必须告诉模型它是一个抽象类,我编辑了我的答案
标签: python django django-models django-admin