Django ForeignKey.limit_choices_to with ForeignKey to ManyTo



我有一个复杂的关系场景,如下所示。我想要JobChecklistAnswer.question上与JobChecklistAnswer.job_checklist.checklist相关的limit_choices_toQuestions

如何将这些Question筛选为Q对象(或者文档中所说的可调用(?

class Checklist(models.Model):
name = models.CharField(_("name"), max_length=150)
description = models.CharField(_("description"), max_length=150)

class Question(models.Model):
checklist = models.ForeignKey(Checklist, on_delete=models.CASCADE)
question = models.CharField(_("question"), max_length=200)

class Job(models.Model):
...
...

class JobChecklist(models.Model):
job = models.ForeignKey(Job, on_delete=models.CASCADE)
checklist = models.ForeignKey(Checklist, on_delete=models.CASCADE)

class JobChecklistAnswer(models.Model):
job_checklist = models.ForeignKey(JobChecklist, on_delete=models.CASCADE)
# FIXME: Add limit_choices_to query question
question = models.OneToOneField(ChecklistItem, on_delete=models.CASCADE)
answer = models.TextField(_("answer"))

与OneToOneField";反向";关系,ForeignKey";反向";relation返回一个QuerySet。

您没有在OneToOneField中返回查询集,您只是在反转它们之间的关系

因此,第一步是将OneToOneField更改为ForeignKey

然后您可以在ForeignKey上使用limit_choices_to属性

相关内容

  • 没有找到相关文章

最新更新