Django如何/何时计算ForeignKey对象

时间:2010-01-17 08:54:42

标签: django django-models

我有一个模型类class A(models.Model): user = models.ForeignKey(User)

现在,如果我执行了a = A.objects.get(pk = something_existing); print a.__dict__,则user不在__dict__a.user但是不会给出属性错误。

那么实际用户何时被计算?我查看了django.db.models.base.Modeldjango.db.models.base.ModelBase类,并且它们没有覆盖__getattr__,(我猜这可能正在完成),所以这是计算/填充的位置。

1 个答案:

答案 0 :(得分:3)

Django relation fields实现为descriptors