当我填写searchfield中的书籍和章节时,我的搜索查询工作正常。但是当我只填写这本书的时候,我就错了。有人能帮我吗
请求方法:GET
请求URL:http://127.0.0.1:8000/search/?q=genesis
Django版本:3.0
异常类型:ValueError
异常值:
没有足够的值进行解包(预期值为2,实际值为1)
def get_queryset(self):
query = self.request.GET.get('q')
book, chapter = query.split()
object_list = Verse.objects.filter(
Q(book__icontains=book) & Q(
chapter__exact=chapter))
return object_list
这不起作用,因为只有一个单词,因此
query.split()
将返回一个单例列表不过,我不认为用空格分开是个好主意。如果书名包含空格,那么
.split()
将拆分书名,您将把第二个单词作为chapter
。您可能需要在一个标识符上拆分,比如冒号(:
)相关问题 更多 >
编程相关推荐