您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Django queryset过滤中执行不等于?

如何在Django queryset过滤中执行不等于?

也许Q对象可以帮助解决此问题。我从未使用过它们,但似乎可以将它们取反并组合起来,就像普通的python表达式一样。

更新:我只是尝试了一下,它似乎工作得很好:

>>> from myapp.models import Entry
>>> from django.db.models import Q

>>> Entry.objects.filter(~Q(id = 3))

[<Entry: Entry object>, <Entry: Entry object>, <Entry: Entry object>, ...]

你的查询似乎有一个双重否定,你想排除x不为5的所有行,换句话说,你想包括x为5的所有行。我相信这可以解决问题。

results = Model.objects.filter(x=5).exclude(a=true)

要回答你的特定问题,没有“不等于”,但这可能是因为django同时提供了“过滤器”和“排除”方法,因此你始终可以切换逻辑回合以获得所需的结果。

Go 2022/1/1 18:24:40 有334人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶