这是我的模型
from django.db import models
class Page(models.Model):
page_id = models.IntegerField(default=0)
class Question(models.Model):
page = models.ForeignKey(Page)
question = models.CharField(max_length=150)
class Option(models.Model):
question = models.ForeignKey(Question)
option = models.CharField(max_length=100)
image_class = models.CharField(max_length=75)
这是我的admin.py
from django.contrib import admin
from .models import Page, Question, Option
class OptionInline(admin.StackedInline):
model = Option
extra = 1
class QuestionInline(admin.StackedInline):
model = Question
extra = 1
inlines = [OptionInline]
class PageAdmin(admin.ModelAdmin):
inlines = [QuestionInline]
admin.site.register(Page, PageAdmin)
基本上我希望这种多级关系在管理站点中显示为多级内联。有人可以帮忙吗
请您参考如下方法:
Django 1.8 没有使用嵌套内联,而是提供了 InlineModelAdmin.show_change_link
from django.contrib import admin
from .models import Page, Question, Option
class OptionInline(admin.StackedInline):
model = Option
extra = 1
class QuestionInline(admin.StackedInline):
model = Question
extra = 1
show_change_link = True
class PageAdmin(admin.ModelAdmin):
inlines = [QuestionInline,]
admin.site.register(Page, PageAdmin)
class QuestionAdmin((admin.ModelAdmin):
inlines = [OptionInline,]
admin.site.register(Question, QuestionAdmin)
这样,当您保存 Page模型 - 已完成内联 Question模型- 一个名为“更改”的链接将出现在已保存的内联实例中 Question模型。单击它,您将登陆Question 的主页。带有 Option 的模型实例内联模型。
当您完成 Option内联模型并点击“保存并继续编辑”,后退按钮应该会返回到相关的 Page实例。
还有a post其中描述了如果您使用以前的 Django 版本,您将如何获得相同的结果。
