說我有模型
class A(models.Model):
class B(models.Model):
class C(models.model):
b = models.ForeignKey(B)
class D(models.Model):
c = models.ForeignKey(C)
a = models.ForeignKey(A)
ORM 查詢如何選擇與 C 相關的所有 B,這些 B 與表 D 中的特定 A 相關?
uj5u.com熱心網友回復:
正如您帖子上的評論所述,您可以使用自動生成的相關名稱。但是自己設定它永遠不會有壞處。
class C(models.model):
b = models.ForeignKey(B, related_name="c")
class D(models.Model):
c = models.ForeignKey(C, related_name="d")
a = models.ForeignKey(A, related_name="d")
然后:
B.objects.filter(c__d__a=specific_a_obj)
uj5u.com熱心網友回復:
class C (models.Model):
b = models.ForeignKey(on_delete=models.CASCADE, related_name='c_related')
最終查詢:
c_ids = D.objects.values_list(
'c__id', flat=True).filter(a__id="specific A object id palced here")
query = B.objects.filter(c_related__id__in=c_ids).distinct()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/422715.html
標籤:
下一篇:洗掉我的django專案TypeError:__str__回傳非字串(用戶型別)上的帖子和評論時,我不斷收到此錯誤
