django OneToOne反向访问

时间:2012-06-18 18:33:54

标签: database django one-to-one

我有这些简单的课程

Class A(models.Model):
    ...

Class Meta(models.Model):
    a = models.OnetoOneField(A, primary_key=True)
    width = models.IntegerField(default=100)

但是当我做的时候

a = A()
meta = Meta()
a.save()
meta.a = a
meta.save()
print a.meta.width

我得到了

'A' object has no attribute 'meta'

这是为什么?我使用OneToOne错了吗?如果是这样,我怎样才能得到正确的印刷声明?

由于

1 个答案:

答案 0 :(得分:51)

定义related_name以调用反向访问者。

a = models.OneToOneField(A, related_name='foobar')
# ...
a.foobar