有一些存储在数据库中。列数据可以再包含一个空格,如下所示。
Printer
-----------------------------------
No | name | data
-----------------------------------
1 | 3D Printer | 1
2 | 3d printer | 21
3 | 3dPrinter | 3
Run Code Online (Sandbox Code Playgroud)
我想选择所有的“3d 打印机”。
告诉我这样做的方法。
你可以这样做:
Printer.objects.extra(where=["LOWER(REPLACE(name,' ','')) = '3dprinter'"])
Run Code Online (Sandbox Code Playgroud)
上面的查询将首先删除名称中的任何空格,然后将其变为小写,然后与3dprinter进行比较
由于名称中的所有空格都被删除,包括3d之后的空格,我们需要将名称与仅3dprinter进行比较
我猜 django 不支持REPLACE字符串的 SQL 选项。但你可以使用原始sql。这是关于相同内容的 Django 文档:https ://docs.djangoproject.com/en/1.8/topics/db/sql/
这是忽略空格的原始 SQL 查询忽略空格的查询
在我看来,您应该在表中添加另一列,slug-name该列将存储不带空格的名称。这样你就可以在你的桌面上轻松使用 Django ORM。
| 归档时间: |
|
| 查看次数: |
2863 次 |
| 最近记录: |