问题描述
我试图在我的 Django 管理工具中限制外键的选择。我偶然发现了 limit_choices_to
模型的 ForeignKey
选项:https://docs.djangoproject.com/en/3.2/ref/models/fields/#django.db.models.ForeignKey.limit_choices_to
在我的模型中,我有一个 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.
我的逻辑非常简单:我希望管理员仅在与特定问题相关的选项之间进行选择。我该如何正确实施?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)