Django 最简单的连接方式是什么?

Django 最简单的连接方式是什么?,django,django-queryset,django-orm,Django,Django Queryset,Django Orm,我正在做标签搜索功能,用户可以观察到很多标签,我在一个元组中得到所有标签,现在我想从列表中找到至少包含一个标签的所有文本。 符号:text\uuuu包含在=('asd','dsa')中的内容。 我唯一的想法是做循环,例如: q = text.objects.all() for t in tag_tuple: q.filter(data__contains=t) 例如: 输入标签元组,('car','cat','cinema') 输出包含该元组中至少一个单词的所有消息,以便我的猫在车

我正在做标签搜索功能,用户可以观察到很多标签,我在一个元组中得到所有标签,现在我想从列表中找到至少包含一个标签的所有文本。
符号:
text\uuuu包含在=('asd','dsa')中的内容。

我唯一的想法是做循环,例如:

q = text.objects.all() 

for t in tag_tuple: 
   q.filter(data__contains=t)
例如: 输入标签元组,
('car','cat','cinema')
输出包含该元组中至少一个单词的所有消息,以便
我的猫在车内
电影院不允许猫
我将开车去电影院

谢谢你的帮助

我不知道Django,所以我不知道如何应用这个过滤器,但似乎您需要这样一个函数:

def contains_one_of(tags, text):
    text = text.split()   # tags should match complete words, not partial words
    return any(t in text for t in tags)
给你:

filter = Q()
for t in tag_tuple: 
   filter = filter | Q(data__contains=t)
return text.objects.filter(filter)
以下几点提示:

  • 您应该使用大写字母命名模型类(即
    Text
    ,而不是
    Text
  • 如果您不担心这个案例,您可能需要
    \u icontains

你能举一个输入和预期输出的例子吗?如果它能工作,看起来很简单,thx+1,答案是:)