【发布时间】:2014-06-02 13:09:52
【问题描述】:
我正在为自动完成表单编写后端代码。我返回的每个条目都由一个类别名称和该类别中的一个数字来描述。
当用户键入“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)?
【问题讨论】:
标签: python sql django django-models django-filter