gpt4 book ai didi

python - 如何在 Django 查询集过滤中执行不等于?

转载 作者:IT老高 更新时间:2023-10-28 12:00:55 33 4
gpt4 key购买 nike

在 Django 模型 QuerySets 中,我看到有一个 __gt__lt 用于比较值,但是有一个 __ne >!=(不等于)?我想使用不等于过滤掉。例如,对于

Model:
bool a;
int x;

我想做

results = Model.objects.exclude(a=True, x!=5)

!= 语法不正确。我也试过 __ne.

我最终使用了:

results = Model.objects.exclude(a=True, x__lt=5).exclude(a=True, x__gt=5)

最佳答案

您可以使用 Q objects为了这。它们可以用 ~ 运算符取反,并像普通的 Python 表达式一样组合:

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

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

将返回所有条目,除了 ID 为 3 的条目:

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

关于python - 如何在 Django 查询集过滤中执行不等于?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/687295/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com