告诉django不要关注外键?

时间:2011-04-09 21:55:31

标签: django django-models

有没有办法告诉django在实例化模型实例时不遵循外键关系?什么东西可以放在模特身上?要传递给查询集的东西?我想要一个只返回具有外键id的实例的查询集 - 我不希望实例发出查询以查找其亲属。与select_related相反的东西?

2 个答案:

答案 0 :(得分:3)

Django的默认行为是在执行数据库查询以填充相关模型实例之前等待访问外键关系。

要自动查询相关实例,而不是直接访问ForeignKey字段属性,请访问attribute_id,例如

class Person(models.Model):
    name = models.CharField(max_length=200)
    user = models.ForeignKey('auth.User')

# access the user id via user_id
person = Person.objects.all()[0]
print person.user_id

答案 1 :(得分:0)

尝试defer