【问题标题】:What is query speed or difference between Django ForeignKey and OneToOneFieldDjango ForeignKey 和 OneToOneField 之间的查询速度或区别是什么
【发布时间】:2018-06-05 05:25:55
【问题描述】:

我看过这个:https://groups.google.com/forum/#!topic/django-users/VEDZtuND2XM

但在那个答案上,罗纳尔多说的是方便而不是查询速度。

ForeignKey(unique=true) 和 OneToOneField 之间是否存在速度或性能差异?

或者说使用 OneToOneField 比 ForeignKey(unique=true) 有什么其他优势吗?

【问题讨论】:

  • 反向访问实例更直观:FK:rel_model_instance.related_name.get(),1to1:rel_model_instance.related_name

标签: django


【解决方案1】:

一般的答案是否定的。但是如果你在反向关系上做一些一般的事情,会有一些性能差异:当你使用通过 OneToOneField 定义的反向关系时,你会得到一个模型实例,这与 ForeignKey 反向关系的 Manager 相反,因此总是有一个数据库命中- 这很昂贵。

【讨论】:

    猜你喜欢
    • 2011-08-17
    • 2012-04-14
    • 2015-08-15
    • 2016-03-10
    • 2015-03-26
    • 1970-01-01
    • 2011-04-28
    • 2020-02-12
    相关资源
    最近更新 更多