我需要这样查询:
WHERE Comment like '%ev% 3628%' or Comment like '%ew% 3628%'
数字“ 3628”是参数。因此,我尝试了以下方法:
第一次尝试:
wherestr = "Comment like '%%ev%% %s%%' or Comment like '%%ew%% %s%%'" % (rev_number, rev_number)
comment_o = Issuecomments.objects.extra(where=[wherestr])
但我有:
/ comments_by_rev / 3628 /处的TypeError
格式字符串的参数不足
请求方法:GET
要求网址:http://127.0.0.1:8001/comments_by_rev/3628/
异常类型:TypeError
异常值:
格式字符串的参数不足
第二次尝试:
comment = IssuetrackerIssuecomments.objects.filter(Q(comment__contains=rev_number), Q(comment__contains='ew') | Q(comment__contains='ev'))
但事实并非完全相同。
你们有智慧的人有什么想法要实现吗?
最佳答案
您需要类似以下内容:
from django.db.models import Q
def myview(request):
query = "hi" #string to search for
items = self.filter(Q(comment__contains=query) | Q(comment__contains=query))
...
只要确保查询字符串正确转义即可。