我有这些简单的课程

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'

Why is this? Am I using OneToOne wrong? if so how can 我明白了 the correct print statement?

谢谢

推荐答案

定义related_name以调用反向访问器.

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

Database相关问答推荐

Golang Gorm和Gin无法创建具有关联的对象

DynamoDB 扫描 - 具有相同分区键的项目按顺序返回

[mongodb],如何通过聚合获得具有许多不同字段的文档的最大值?子字段名称相同

数据库是序列图中的控制器还是边界?

从 GCP 机密管理器中读取 .DER 值并将其保存到 .DER 文件

使用 PostgresQL 判断现有列的约束

更新数据库后如何更新redis?

数据库排序规则更改问题 (SQL Server 2008)

阿拉伯字符串上的 WHERE 子句匹配问题

MySQL workbench:如何将 mysql 数据库导出到 .sql 文件?

一个 5MB 的 SQL 数据库可以存储多少数据?

Django:如何以线程安全的方式执行 get_or_create()?

SOA 和共享数据库

生成和读取条形码

PostgreSQL 哈希索引

如何从 PostgreSQL 数据库中的文本文件加载数据?

如何将 DECIMAL 插入 MySQL 数据库

数据库与平面文本文件:当性能不是问题时, Select 一个而不是另一个的一些技术原因是什么?

我应该在哪里存储外键?

Apache Spark 的主键