【问题标题】:Select_related() backwards relation - auto model populationSelect_related() 反向关系 - 自动模型填充
【发布时间】:2023-03-08 12:55:01
【问题描述】:

如果我有以下型号:

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() 几乎可以做到我想要的,但似乎无法反方向工作。

在此先感谢您对此的帮助!

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    你是对的,select_related 只适用于前锋!要进行更有效的反向查找,请参阅this

    【讨论】:

    • 澄清一下,您只能在 OneToOne 字段上使用 select_related 反向查找 - 它不适用于 FK 或 M2M
    猜你喜欢
    • 2011-12-27
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多