gpt4 book ai didi

python - Django 中两个 SearchQuerySet 的交集

转载 作者:太空宇宙 更新时间:2023-11-04 10:28:54 25 4
gpt4 key购买 nike

所以我有一个类似的模型:

class Whatever(SlugMixin, models.Model):
user = models.ForeignKey(auth_models.User, related_name='user+', verbose_name=_('User'), on_delete=models.PROTECT)
name = models.CharField(verbose_name=_('Name'), max_length=200)

我正在尝试查找属于该用户且名称与搜索词匹配的所有对象。

我已经明白这样做:

SearchQuerySet().filter(text=searched_term).filter(user=user)

不会工作。它让我想起了这两者的结合。但是,我想要这两个条件的交集,而不是联合。我了解发生这种情况是因为用户和文本属于不同的模型。

最佳答案

为了确保我们在同一页上了解并集和交集的含义,让我们举一个简短的例子:

A 组 = [1, 2, 3]

B 组 = [2, 3, 4, 5]

A 和 B 的交点为 [2, 3]

A 和 B 的联合将是 [1, 2, 3, 4, 5]

如果你正在寻找路口:

desired_queryset = Whatever.objects.filter(user=user, name=searched_term)

如果您正在寻找工会:

from django.db.models import Q
desired_queryset = Whatever.objects.filter(Q(user=user) | Q(name=searched_term))

关于python - Django 中两个 SearchQuerySet 的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28061959/

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