簡體   English   中英

django如何與外鍵一起使用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM