我正在 django 中创建一个测验应用程序。这是模型:

class Quiz(models.Model):
    title = models.CharField(max_length=200)
    description = models.TextField()
    publish = models.BooleanField(default=False)

    def __unicode__(self):
        return self.title

class Question(models.Model):
    quiz = models.ForeignKey(Quiz)
    question = models.TextField()
    hint = models.TextField()

    def __unicode__(self):
        return self.question

class Option(models.Model):
    question = models.ForeignKey(Question)
    option = models.CharField(max_length=250)
    correct = models.BooleanField(default=False)

    def __unicode__(self):
        return self.title

每个问题只能有一个答案。这就是问题所在。我一直无法弄清楚如何为 Option 模型编写管理表单,以便对于每个问题,只有一个选项可以具有正确 = True。

我可以为每个问题使用单选按钮,但不知道如何限制它们,以便只能为一个外键选择一个。

最佳答案

我不确定如何通过反向查找来完成。

我知道这不完全是您想要的,但非常接近。
你可以继续在 admin.py 中尝试这个吗

admin.site.register(Quiz)
#admin.site.register(Option) #Include this if required

class OptionInline(admin.TabularInline):
    model = Option

@admin.register(Question)
    class QuestionAdmin(admin.ModelAdmin):
    inlines = [
        OptionInline,
    ]

关于python - django admin 中的单选按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18242384/

10-15 08:30