最近、Django で奇妙な動作を見つけました。それから、自分の仕事の仕方が間違っていると思い始めます。
2つのモデルがあると仮定しましょう
class A(models.Model):
attr1 = models.CharField()
...
class B(models.Model):
a = models.ForeignKey("A",
related_name = "bs"
blank = True,
null = True)
したがって、B のいくつかの項目があり、A との関連付けがない場合、たとえば b1、b2、b3 とします。A の新しいインスタンスを設定すると、たとえば a1 とします。
a.bs.all()
b1, b2 and b3 are returned.
どうしたの?新しいインスタンスを作成すると、関係が発生しないはずです。b1、b2、および b3 に関係がないことはわかっていますが、デフォルトでは新しいインスタンスに関連付けることはできません。
Django のやり方を知っている人はいますか?
a1.id: return [] else: a1.bs.all() の場合、私はトリックを実行できることを知っています
しかし、これは正しい方法ではないと思います。
誰でも私を助けることができますか?
前もって感謝します