查询搜索。返回结果列表而不是第一个。通过前缀substring

时间:2016-10-23 19:36:59

标签: python django

我试图在列符号中获取将searchWord作为子字符串的所有对象。

如果searchWord是G,并且存在五个库存对象:

GOOG
APPL
FLO.CO
GARY
OEGP    

然后,我想要检索GOOGGARY,而不是OEGP。只是前缀substring

以下是我尝试过的一段代码。但它只会返回一个对象。

    results = stock.objects.all().filter(symbol=searchWord)

    for x in results:
        print(x.symbol)

2 个答案:

答案 0 :(得分:2)

您可以将startswithQuerySet.filter()一起使用。您的ORM查询应为:

results = stock.objects.all().filter(symbol__startswith=searchWord)

这将检查区分大小写的 searchWord作为symbol列中值的前缀。如果您想进行不区分大小写的前缀检查,请改用istartswith

答案 1 :(得分:0)

列表理解也许适合你(纠正)。

results = [r for r in results if r.startswith(searchWord)]