49

我有这些简单的课程

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 错了吗?如果是这样,我怎样才能得到正确的打印语句?

谢谢

4

1 回答 1

78

定义 arelated_name以调用反向访问器。

a = models.OneToOneField(A, related_name='foobar')
# ...
a.foobar 
于 2012-06-18T19:53:50.343 回答