【问题标题】:Get model instance id from foreign key field without loading object从外键字段获取模型实例ID而不加载对象
【发布时间】:2014-05-22 09:51:08
【问题描述】:

假设我们有以下类:

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

如果我想获取联系人的外键,我会使用 somealert.contact.pk 或 somealert.contact_id。这些命令会拉下整个联系人对象然后获取密钥吗?或者他们中的任何一个只产生外键而不从数据库中提取实例的所有属性。我担心性能,宁愿自己获取密钥。

【问题讨论】:

    标签: python django foreign-keys models


    【解决方案1】:

    第一个 - somealert.contact.pk - 将获得联系人对象。第二个 - somealert.contact_id - 不会。

    您可以在 shell 中通过查看django.db.connection.queries 的内容来验证这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 2013-12-28
      • 2015-06-29
      • 1970-01-01
      • 2012-12-26
      • 2011-04-27
      相关资源
      最近更新 更多