2014-04-09 41 views
3

假設我們有下面的類:獲取國外關鍵領域模型實例ID,而無需加載對象

Class Alert(models.Model): 
    contact = models.ForeignKey('emails.Contact',null=True,blank=True) 

如果我想獲得的接觸,我會做somealert.contact.pk或somealert的外鍵。 CONTACT_ID。這些命令是否拉下整個聯繫人對象,然後獲得密鑰?或者,它們中的任何一個只是在不從數據庫中提取實例屬性的情況下產生外鍵。我擔心表現,寧願自己拿到鑰匙。

回答

3

第一個 - somealert.contact.pk - 將獲得聯繫人對象。第二個 - somealert.contact_id - 不會。

您可以通過查看django.db.connection.queries的內容在shell中進行驗證。

相關問題