1

Django には次のモデルがあります (読みやすいように簡略化しています)。

class Test(models.Model):
    pass

class Page(models.Model):
    test = models.ForeignKey(Test)

class Question(models.Model);
    page = models.ForeignKey(Page)

class Answer(models.Model):
    question = models.ForeignKey(Question)

管理領域でテストを完全に編集したいと思います。つまりTest、データを編集Pageし、そのテストに を追加し、次にQuestion各ページに を追加Answerし、質問ごとに を追加します。これを行う最も簡単で Django 風のモードは何ですか?

4

1 に答える 1

1
from django.contrib import admin
from project.apps.models import Test, Page,Question, Answer

class AnswerInline(admin.StackedInline):
model = Answer
extra = 0

class QuestionInline(admin.StackedInline):
model = Question
extra = 0

class PageInline(admin.StackedInline):
model = Page
extra = 0

class TestAdmin(admin.ModelAdmin):
list_display =('__unicode__','item1','item2')
search_fields = ('field1','field2')
inlines=[AnswersItemInline,QuestionsItemInline,PageItemInline]

admin.site.register(Test,TestAdmin)
于 2013-10-21T13:15:32.380 に答える