django查询集错误(istartswith)

时间:2017-05-29 13:45:36

标签: sql django

我试过了:

objects_list = Feed.objects.filter(
            job__istartswith__in=['AW', "cons", "S1"])

它向我显示以下错误:

FieldError: Unsupported lookup 'istartwith' for CharField or join on the field not permitted.

如果我尝试如下,它的工作:

 objects_list = Feed.objects.filter(
                job__istartswith='AW')

我应该怎样做才能搜索单词,以查询查询中的单词列表?

1 个答案:

答案 0 :(得分:1)

Django ORM不支持istartswith__in,我想这是因为数据库系统也不支持该操作。

为了达到这个目的,您应该在多个子句中使用OR:

from django.db.models import Q
objects_list = Feed.objects.filter(
    Q(job__istartswith='AW') | 
    Q(job__istartswith='cons') |
    Q(job__istartswith='S1'))