<Klasse> hat keine Fremdschlüssel <Klasse> in Django, wenn Sie versuchen, um inline-Modelle

Ich muss in der Lage sein erstellen Sie eine quiz-Typ-Anwendung mit 20 einige ungerade multiple-choice-Fragen.

Habe ich 3 Modelle: Quizzes, Questions, und Answers.

Möchte ich in das admin-interface zu erstellen, ein quiz, und inline-quiz-und-Antwort-Elemente.

Ziel ist es, klicken Sie auf "Quiz Hinzufügen", und übertragen auf eine Seite mit 20 Frage-Felder, mit 4 Antwortfelder pro im Ort.

Hier ist, was ich derzeit habe:

class Quiz(models.Model):
    label = models.CharField(blank=true, max_length=50)

class Question(models.Model):
    label = models.CharField(blank=true, max_length=50)
    quiz = models.ForeignKey(Quiz)

class Answer(models.Model):
    label = models.CharField(blank=true, max_length=50)
    question = models.ForeignKey(Question)

class QuestionInline(admin.TabularInline):
    model = Question
    extra = 20

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

class AnswerInline(admin.TabularInline):
    model = Answer
    extra = 4

class AnswerAdmin(admin.ModelAdmin):
    inlines = [AnswerInline]

class QuizAdmin(admin.ModelAdmin):
    inlines = [QuestionInline, AnswerInline]

admin.site.register(Question, QuestionAdmin)
admin.site.register(Answer, AnswerAdmin)
admin.site.register(Quiz, QuizAdmin)

Bekomme ich die folgende Fehlermeldung, wenn ich versuche, um ein quiz hinzuzufügen:

class 'quizzer.quiz.models.Answer'> has no ForeignKey to <class 'quizzer.quiz.models.Quiz'>

Ist das machbar, oder bin ich versucht, zu viel Zug aus der Django-Admin-app?

InformationsquelleAutor f4nt | 2009-03-04

Schreibe einen Kommentar