Django管理员添加更多选项oneToMany关系

时间:2019-01-08 08:44:30

标签: django django-admin

我遇到一个问题,一个问题有多个test_cases和输出。我想添加更多的选项,例如+,以便为单个问题提供许多test_cases和输出。 这是我的模特:

from django.db import models
from questions.models import Question

class Testcase(models.Model):
question = models.ForeignKey(Question, on_delete=models.DO_NOTHING)
standard_input = models.CharField(max_length=200, blank=True)
standard_output = models.CharField(max_length=200, blank=True)

def __str__(self):
    return self.standard_input 

这是我的admin.py:

from .models import Question
from .models import Testcase

class TestcaseInline(admin.TabularInline):
model = Testcase
extra = 1

class TestcaseAdmin(admin.ModelAdmin):
pass
list_display = ('question', 'standard_input', 'standard_output')
inlines = [ TestcaseInline, ]
search_fields = ('question', 'st_input')
list_display_links = ('question',)
list_per_page = 20


admin.site.register(Testcase, TestcaseAdmin)

我收到此错误: “:(admin.E202)'testcases.Testcase'没有对'testcases.Testcase'的ForeignKey。”

我在做什么错?

1 个答案:

答案 0 :(得分:1)

我认为您为TestcaseInline添加了错误的ModelAdmin。应该将其添加到Question模型管理员中。

class QuestionAdmin(admin.ModelAdmin):
    inlines = [ TestcaseInline, ]


admin.site.register(Question, QuestionAdmin)