有包含方法,但它的意思是:WHERE field LIKE '%10%'
。我需要WHERE field LIKE '10__8__0__'
。
谢谢!
编辑:
我的意思是字符串是'10xx8xx0xx'
,其中x-任意符号
发布于 2011-12-27 11:53:06
发布于 2011-12-27 12:28:17
进行搜索的最简单方法是通过正则表达式:
MyModel.objects.filter(field__regex=r'^10..8..0..$')
编辑:
我的解决方案可能比喜欢慢得多。但问题是django ORM不允许轻松访问LIKE
。如果startswith
或endswith
足以满足您的需要,这将是最简单的。
发布于 2014-03-26 21:46:35
您可以使用extra
来完成以下操作:
MyModel.objects.extra(where=["column_name LIKE '%10%"])
注意,column_name
是数据库中的列名,而不是Django模型中的字段名。在许多情况下,字段名和列名是相同的,但是如果它们不同,请注意使用列名。
https://stackoverflow.com/questions/8644146
复制相似问题