Differences between Q and exclude in Django filter

时间:2019-04-08 14:07:04

标签: django

I am wondering what is the exact difference between these two kinds of Django filter from performance aspects.

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

and

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

Is there any other differences except performance? Thanks in advance

1 个答案:

答案 0 :(得分:4)

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