首页 > 解决方案 > Django 管理员添加更多选项 oneToMany 关系

问题描述

我有一个问题,并且问题有多个 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。”

我做错了什么?

标签: djangodjango-admin

解决方案


我认为您正在为TestcaseInline. 它应该被添加到Question模型管理员。

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


admin.site.register(Question, QuestionAdmin)

推荐阅读