Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python和Django从表中获取值时获取TypeError_Python_Django - Fatal编程技术网

使用Python和Django从表中获取值时获取TypeError

使用Python和Django从表中获取值时获取TypeError,python,django,Python,Django,使用Python和Django从表中获取值时出错。错误如下: Exception Type: TypeError Exception Value: not all arguments converted during string formatting rname = request.POST.get('rname') keyword = '%' + rname + '%' all_value = Meeting.objects.raw("SELECT * FROM booking_

使用Python和Django从表中获取值时出错。错误如下:

Exception Type: TypeError
Exception Value:    
not all arguments converted during string formatting
rname = request.POST.get('rname')
keyword = '%' + rname + '%'
 all_value = Meeting.objects.raw("SELECT * FROM booking_meeting WHERE room_name LIKE ? ", (keyword,))
我的代码如下:

Exception Type: TypeError
Exception Value:    
not all arguments converted during string formatting
rname = request.POST.get('rname')
keyword = '%' + rname + '%'
 all_value = Meeting.objects.raw("SELECT * FROM booking_meeting WHERE room_name LIKE ? ", (keyword,))

这里我得到了错误。

您必须使用
%s
作为占位符,而不是

all_value = Meeting.objects.raw("SELECT * FROM booking_meeting WHERE room_name LIKE %s ", (keyword,))
请参阅以下网址的文档:

还要注意,Django需要的是“%s”占位符,而不是SQLite Python绑定使用的“?”占位符。这是为了保持一致性和理智


为什么要用
.raw
执行此操作?使用
\uu contains
,它就像标准的ORM查询一样简单。我需要实现sql查询,这是我的要求。不,你不需要。您的要求是“对“rname”执行类似的查询”。实现它的方法是
Meeting.objects.filter(room\u name\u icontains=rname)
。我需要知道如何以这种格式删除此错误。