我正在编写自动完成表单的后端代码。每个条目都由一个类别名称和该类别中的一个数字描述。
当用户键入"CAT123"时,我希望使用Django过滤器来筛选包含在用户查询中的类别名称或数字。
换句话说,我想执行这样的查询:
Entry.objects.filter(Q(category__in = query) | Q(num__in = query))
这里需要过滤器测试类别AAA
是否在查询AAA 555
中,以及数字555
是否在查询AAA 555
中。
然而,__in
似乎只适用于列表,而__contains
则是另一种方式('AAA 555'不在'AAA'中)。
对于“包含在字符串中”的想法,应该使用什么样的过滤表达式?
或者有没有一种方法可以反转contains
表达式,使过滤器看起来像Q(query__contains = category)
?