我需要这样查询:


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))
   ...


只要确保查询字符串正确转义即可。

09-07 05:43