Vit*_*mar 12 django django-models
有包含方法,但它的意思是:WHERE field LIKE '%10%'.而且我确切地需要WHERE field LIKE '10__8__0__'.
谢谢!
编辑:
我的意思是字符串是'10xx8xx0xx',其中x - 任何符号
Goi*_*oin 15
你可以用django-like做到这一点:
MyModel.objects.filter(field__like='10%8%0%')
Run Code Online (Sandbox Code Playgroud)
我还在Django项目网站上创建了相关的票证
执行搜索的最简单方法是使用正则表达式:
MyModel.objects.filter(field__regex=r'^10..8..0..$')
Run Code Online (Sandbox Code Playgroud)
编辑:
我的解决方案可能比LIKE慢得多.但问题是django ORM不允许轻松访问LIKE.如果startswith或endswith足够您的目的,这是最简单的.
你可以extra这样做:
MyModel.objects.extra(where=["column_name LIKE '%10%"])
Run Code Online (Sandbox Code Playgroud)
请注意,这column_name是数据库中的列名,而不是Django模型中的字段名.在许多情况下,字段名称和列名称将相同,但如果它们不同,请注意使用列名称.
| 归档时间: |
|
| 查看次数: |
11960 次 |
| 最近记录: |