首页 > 解决方案 > 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')

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

标签: django

解决方案


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


推荐阅读