【问题标题】:Differences between Q and exclude in Django filterDjango 过滤器中 Q 和 exclude 的区别
【发布时间】:2019-08-29 17:11:28
【问题描述】:

我想知道这两种 Django 过滤器从性能方面的确切区别是什么。

User.objects.filter(Q(first_name='R') & ~Q(last_name='Z')

User.objects.filter(first_name='R').exclude(last_name='Z')

除了性能还有其他区别吗? 提前致谢

【问题讨论】:

  • 我觉得看看有没有区别的一个好方法是对比生成的SQL代码

标签: django


【解决方案1】:

实际上根本没有区别,甚至性能也没有。两者都评估为完全相同的查询;它们只是同一事物的不同拼写方式。

【讨论】:

    猜你喜欢
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 2023-03-19
    • 2020-12-08
    • 2011-07-29
    • 2011-07-29
    • 2015-12-30
    相关资源
    最近更新 更多