我试图在列符号中获取将searchWord作为子字符串的所有对象。
如果searchWord是G,并且存在五个库存对象:
GOOG
APPL
FLO.CO
GARY
OEGP
然后,我想要检索GOOG
和GARY
,而不是OEGP
。只是前缀substring
以下是我尝试过的一段代码。但它只会返回一个对象。
results = stock.objects.all().filter(symbol=searchWord)
for x in results:
print(x.symbol)
答案 0 :(得分:2)
您可以将startswith
与QuerySet.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)]