0

django 管理ツールで外部キーの選択肢を制限しようとしています。モデルのlimit_choices_toオプションに出くわしました: https://docs.djangoproject.com/en/3.2/ref/models/fields/#django.db.models.ForeignKey.limit_choices_toForeignKey

私のモデルには、モデルの外部キーであるQuestion_logic属性を持つ があります(これは、質問のオプションの可能な回答を表します)。ifLogicOptions

# 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