使用Python和Django从表中获取值时获取TypeError
使用Python和Django从表中获取值时出错。错误如下:使用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_
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)
。我需要知道如何以这种格式删除此错误。