我正在使用Django 1.8,目前正在开发一个Blog应用程序。当我搜索推文(只是一个名称而不是帖子)时,我想将查询数据库后获得的搜索结果保存为文本而不是列表。我的查看功能如下:
def search(request):
query = request.GET.get('q','')
if query:
qset = (
Q(text__icontains=query)
#Q(hashes__icontains=query)
#Q(artist__icontains=query)
)
results = Tweet.objects.filter(qset).distinct()
else:
results = []
number_of_results = len(results)
search_item = query
returned_items = []
for res in results:
text = res.text
returned_items.append(text)
returns = returned_items[:]
search = Search(search_item=search_item,returns=returns)
search.save()
context = {'query':query,'results':results,'number_of_results':number_of_results,'title':'Search results for '+request.GET.get('q','')}
return render_to_response("tweets/search.html",context,context_instance=RequestContext(request))
请帮帮我朋友。
答案 0 :(得分:1)
您应该使用逗号分隔值加入返回的列表。这将返回字符串。
returns = ', '.join(returned_items)
答案 1 :(得分:0)
这段代码设置返回列表:
returns = returned_items[:]
如果要访问第一个字符串,请将其设置为returned_items [0]。如果要加入列表中的所有字符串,请使用join()
returns = "".join(returned_items)