【发布时间】:2011-11-25 01:10:58
【问题描述】:
我对 Django 建模一对一关系的方式有疑问。
假设我们有 2 个模型:A 和 B:
class B(models.Model):
bAtt = models.CharField()
class A(models.Model):
b = models.OneToOneField(B)
在创建的表A中,有一个字段“b_id”,但在Django创建的表B中没有“a_id”这样的字段。
因此,给定一个 A 对象,只需通过 A 行的“b_id”列即可检索相应的 B 对象肯定很快。
但是 Django 如何在给定 B 对象的情况下检索 A 对象?
最坏的情况是扫描A表以在“b_id”列中搜索B.id。如果是这样,我们在B模型和表中手动引入一个额外的字段“a_id”是否可取?
提前致谢!
【问题讨论】:
标签: database django model one-to-one