8
訪問ForeignKey的值我有一個Django模型,像這樣:Django的 - 沒有擊中數據庫
class Profile_Tag(models.Model):
profile = models.ForeignKey(Profile)
tag = models.ForeignKey(Tag)
和像這樣一個觀點:
pts = Profile_Tag.objects.all()
for pt in pts:
print pt.profile.id
有沒有什麼辦法能夠訪問配置文件外鍵沒有擊中數據庫每次?我不想查詢配置文件表。我只想從Profile_Tag表中獲取id。
你怎麼知道它「命中」數據庫?在ORM層和數據庫中都有廣泛的緩存管理。 – 2010-11-01 23:52:45
那麼,對於讀這個並回答洛特問題的人來說......它在Django 1.4(至少)中做了一個數據庫命中。您可以打開數據庫日誌記錄,查看所有查詢和'pt.profile.id'查詢結果,而'pt.profile_id'沒有。他們可能會對'.id'進行調用而不會導致命中,所以這可能會在將來發生變化(或者已經不同了,我沒有測試過更新的版本)。 – 2015-12-09 16:59:30