[英]How django works with foreign key?
我用Django開發系統,我真的很喜歡它。 但是我想改進我的代碼,但是我懷疑Django如何與外鍵一起使用 。
例:
class A(model.Models):
b = model.IntegerField()
class C(model.Models):
d = models.ForeignKey(A)
#getting...
value = C.objects.get(id=1)
print value.d.b
當我從類A訪問屬性b時 ,django是否在DB中實現咨詢? 還是在命令C.objects.get(id = 1)中實現參考?
如果django在我嘗試訪問屬性時進行咨詢。他將始終在數據庫中進行咨詢嗎?
您可以執行以下操作:
value = C.objects.select_related('d').get(pk=1)
這樣可以防止它再次訪問數據庫。
另請參閱https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related 。
您可以檢查Caching和QuerySet來了解誰將被檢查數據庫或緩存
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.