mysql - 如何在 django2 中编写 raw like 查询?
问题描述
我正在尝试开发一个搜索应用程序,用户可以在其中搜索,并且为了我的系统要求,当我尝试编写以下原始查询时,我需要避免 ORM查询
q = request.POST.get('searchData')
if q:
titleInfo = Item.objects.raw("""select * from item where title like '%%s%'""", [q])
它给了我这个错误
ValueError at /test
unsupported format character ''' (0x27) at index 41
如果我删除报价
"""select * from item where title like %%s%"""
它给了我以下错误
ValueError at /test
incomplete format
我的查询在 MySQL 数据库中运行良好的地方
解决方案
我这样解决问题
q = request.POST.get('searchData')
query = '%'+q+'%'
if q:
titleInfo = Item.objects.raw("select * from item where title like %s", [query])
推荐阅读
- c - 尝试打印队列时出现分段错误
- json - 解决“超过 30 次重定向”
- spring-cloud - Spring Cloud Gateway 路由不起作用,Hystrix Dashboard 加载崩溃
- nuxt.js - Nuxt Lang 属性配置
- android - Android:具有动态列数的列表视图
- sql - 异常报告逻辑
- python - yfinance 未返回完整图表
- excel - 从另一个文件复制最后一个值具有相同的单词(选定的国家)excel VBA
- json - __metadata 类型通过 API 将图像上传到 SharePoint
- c++ - C++20 概念是否能够将模板函数固定为模板参数问题?