Django模型查询集的特殊行为

时间:2011-11-28 08:04:25

标签: python django

我有一个具有以下结构的模型

class Lease(models.Model):
    ....
    rent_category = models.ForeignKey( Category )
    building = models.ForeignKey( Building )

我有一个针对此模型的表单,并且工作正常。

但是当我转到shell并尝试查询模型时,它看不到建筑物字段!

>>> from pms.models import Lease
>>> lease = Lease.objects.all()
>>> lease[0].building
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "c:\python26\lib\site-packages\django\db\models\fields\related.py", line 315, in __get__
    rel_obj = QuerySet(self.field.rel.to).using(db).get(**params)
  File "c:\python26\lib\site-packages\django\db\models\query.py", line 349, in get
    % self.model._meta.object_name)
DoesNotExist: Building matching query does not exist. 

建筑字段存在于数据库中。 很奇怪的行为!!

1 个答案:

答案 0 :(得分:0)

感谢DrTyrsa,

你的最后一点=真, 我没有租约[0] .building_id的建筑物,我租了[17] .building并且它返回了正确的结果。

感谢。