我想为复杂查询构建API。
阅读完文档后,我更喜欢使用django-rest-framework,它将自动为ValuesQuerySet提供序列化和分页,而不是自己进行序列化。
但是,我只找到了默认模型QuerySet的文档,并没有找到任何序列化ValuesQuerySet的文档(当模型未知时)。我怎么能这样做?
我见过this answer,但解决方案不适用于我的情况。
这是代码,不使用django-rest-framework:
@login_required
def category_tallies(request):
my_friends = FacebookUser.objects.filter(user_id=request.user.id)
cat_tallies = FacebookLike.objects.filter(id__in=my_friends).values('category').annotate(Count('category')).order_by('-category__count')
return HttpResponse(
json.dumps(cat_tallies),
mimetype='application/json')
答案 0 :(得分:1)
试试这个:
from django.core import serializers
cat_tallies = FacebookLike.objects.filter(id__in=my_friends).annotate(count=Count('category')).order_by('-count')
json_dump = serializers.serialize('json', cat_tallies, fields=('category','count'))