Django ORM:比较子字符串

时间:2016-02-18 09:16:16

标签: django django-orm

有没有办法使用django ORM查询比较数据库中列(类型字符串)的最后10个字符。我想做点什么:

foo = '1234567890'
result= db.objects.filter(col1[-10:]=foo).values('name')

但col1 [-10:]不起作用。有没有替代方案呢?

注意:foo可以少于10个字符,我们希望匹配最后一个字符或最大可能字符。富=' 67890'不应该匹配' 1234567890'但只有' 67890'。然而,foo =' 1234567890'应匹配' 991234567890'。

1 个答案:

答案 0 :(得分:3)

使用django endswith filter:https://docs.djangoproject.com/es/1.9/ref/models/querysets/#std:fieldlookup-endswith

model.objects.filter(col1__endswith=foo).values('name')

您尝试过会引发SyntaxError。