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

related_nameリバースアクセサーを呼び出すためのを定義します。

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