django - Django 过滤器中 Q 和 exclude 的区别
问题描述
我想知道这两种 Django 过滤器从性能方面的确切区别是什么。
User.objects.filter(Q(first_name='R') & ~Q(last_name='Z')
和
User.objects.filter(first_name='R').exclude(last_name='Z')
除了性能还有其他区别吗?提前致谢
解决方案
实际上根本没有区别,甚至性能也没有。两者都评估为完全相同的查询;它们只是拼写相同事物的不同方式。
推荐阅读
- java - 编写没有 lambda 的方法
- python - 从列表python中删除许多元素
- pdf - iTextSharp 仅返回特定 PDF 文件的空格字符串
- python - Blender 2.80:在对话框中处理异常
- laravel - 带有 Algolia 和 Laravel 的 Vue-InstantSearch:在空查询中隐藏结果
- java - 如何使用我通过 Maven 导入的依赖项?
- android - 拆分安装错误(-5):使用导航组件导航时拆分安装 API 不可用
- r - 在风险表中为大数字添加逗号分隔符
- python - 如何让格式字符串以正确的方式工作?
- python - `str.upper()` 方法不遵守 `LC_CTYPE` 设置,但 `pyicu` 可以