Select_related()反向关联-自动模型填充

5
如果我有以下模型:
class Contact(models.Model)
    name = models.CharField(max_length=100)
    ...

class ContactAddress(models.Model)
    line1 = models.CharField(max_length=100)
    line2 = models.CharField(max_length=100)
    ...
    contact = models.ForeignKey(Contact)

我现在想获取所有的联系人并自动填充地址。有什么最好的方法来做到这一点?目前我找到的唯一方法是过滤掉我想要的联系人,并循环遍历每个联系人并将其分配给Contact.addresses。然后,我在模板中使用它来输出每个联系人的地址。

有没有更好的方法?select_related()几乎可以实现我想要的功能,但似乎不能朝相反的方向工作。

提前感谢您的帮助!

1个回答

5

您说得对,select_related只能向前工作!要进行更有效的反向查找,请参阅此文


仅需澄清,select_related 只能在 OneToOne 字段上进行反向查找 - 它不能在 FK 或 M2M 上工作。 - Timmy O'Mahony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接