a134man
a134man

Reputation: 150

saving search results as text instead of list

I am using Django 1.8 and currently am working on a Blog application. When i search for tweets( just a name instead of posts) , i want to save the search results obtained after querying the database, as text instead of list. My view function is as below:

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

also, the snapshot of my search table in the database is as shown below:Search table

Please help me out friends.

Upvotes: 0

Views: 56

Answers (2)

TheGRS
TheGRS

Reputation: 133

This piece of code is setting returns to a list:

returns = returned_items[:]

If you want to access the first string, set it to returned_items[0]. If you want to join all strings in the list, use join()

returns = "".join(returned_items)

Upvotes: 0

Muhammad Shoaib
Muhammad Shoaib

Reputation: 372

you should join the returned list using the comma separted values. This will return the string.

returns = ', '.join(returned_items)

Upvotes: 1

Related Questions