有没有办法使用django ORM查询比较数据库中列(类型字符串)的最后10个字符。我想做点什么:
foo = '1234567890'
result= db.objects.filter(col1[-10:]=foo).values('name')
但col1 [-10:]不起作用。有没有替代方案呢?
注意:foo可以少于10个字符,我们希望匹配最后一个字符或最大可能字符。富=' 67890'不应该匹配' 1234567890'但只有' 67890'。然而,foo =' 1234567890'应匹配' 991234567890'。
答案 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。