我遇到一个问题,一个问题有多个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。”
我在做什么错?
答案 0 :(得分:1)
我认为您为TestcaseInline
添加了错误的ModelAdmin。应该将其添加到Question
模型管理员中。
class QuestionAdmin(admin.ModelAdmin):
inlines = [ TestcaseInline, ]
admin.site.register(Question, QuestionAdmin)