Tôi cần có khả năng tạo ứng dụng loại bài kiểm tra với 20 câu hỏi trắc nghiệm lẻ.<class> không có khoá ngoại nào để <class> ở Django khi cố gắng mô hình nội tuyến
Tôi có 3 kiểu: Quizzes
, Questions
và Answers
.
Tôi muốn trong giao diện quản trị để tạo một bài kiểm tra và điền vào phần tử câu hỏi và trả lời.
Mục tiêu là nhấp vào "Thêm câu hỏi" và được chuyển đến một trang có 20 trường câu hỏi, với 4 trường câu trả lời cho mỗi trường tại chỗ.
Dưới đây là những gì tôi hiện có:
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)
tôi nhận được lỗi sau khi tôi cố gắng thêm một bài kiểm tra:
class 'quizzer.quiz.models.Answer'> has no ForeignKey to <class 'quizzer.quiz.models.Quiz'>
phải là doable này, hoặc tôi đang cố gắng để kéo quá nhiều ra của ứng dụng Admin Django?