0

我试图在我的 django 管理工具中限制外键的选择。我偶然发现了模型的limit_choices_to选项: https ://docs.djangoproject.com/en/3.2/ref/models/fields/#django.db.models.ForeignKey.limit_choices_toForeignKey

在我的模型中,我有Question_logic一个属性ifLogic,它是模型的外键Options(代表问题选项的可能答案)。

# Models.py

class Options(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    option = models.CharField(max_length=200)

class Question_logic(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
# error here:
    ifLogic = models.ForeignKey(Options, on_delete=models.CASCADE, limit_choices_to=Options.objects.filter(question=question))
    thenLogic = models.CharField(max_length=200)

但是这种方法不起作用,因为显然您无法在模型定义本身中引用对象,并且我收到此错误:

django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

我的逻辑非常简单:我希望管理员仅在与特定问题相关的选项之间进行选择。我该如何正确实施?

谢谢。

4

0 回答 0