Джанго админ добавить еще один вариант отношения - PullRequest
0 голосов
/ 08 января 2019

У меня есть ситуация, когда у меня есть вопрос, и у меня есть несколько тестовых случаев и выходов. Я хочу добавить больше опций, таких как +, чтобы иметь много 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' не имеет ForeignKey для 'testcases.Testcase'."

Что я не так делаю?

1 Ответ

0 голосов
/ 08 января 2019

Я думаю, что вы добавляете неправильный ModelAdmin для TestcaseInline. Следует добавить к Question Model Admin.

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


admin.site.register(Question, QuestionAdmin)
...