ValuesQuerySet物件 轉換成json
阿新 • • 發佈:2018-12-05
def search(request): kw = request.GET.get('kw') word = Cnword.objects.filter(words__startswith=kw).values('words')[0:10] # 返回django.db.models.query.ValuesQuerySet物件 # word = Cnword.objects.filter(words__startswith=kw)[0:10] # 返回django.db.models.query.QuerySet物件 if word: word = list(word) #ValuesQuerySet物件需要先轉換成list data = json.dumps(word) # 把list轉成json # data = serializers.serialize("json", word) #django.db.models.query.QuerySet物件可以序列化 return HttpResponse(data) #返回json return HttpResponse('false')
不需要全部欄位時,可以用values('欄位名','欄位名2')來要求返回的是哪些列的資料.但是返回來的是ValuesQuerySet物件而不是QuerySet物件.
ValuesQuerySet物件 不能用 serializers.serialize() 方法序列化成json 需要先轉換成list 再用 json.dumps()方法序列化成json
如果是直接models.objects.filter()查詢出來的queryset物件,要用serializers.serialize() 方法序列化成json
轉自:https://blog.csdn.net/qq_24861509/article/details/49172945