繁体   English   中英

如何使用django-rest-framework序列化ValuesQuerySet?

[英]How to serialize a ValuesQuerySet using django-rest-framework?

我想为复杂的查询构建一个API。

阅读文档后,我更喜欢使用django-rest-framework,它将为ValuesQuerySet自动提供序列化和分页,而不是自己进行序列化。

但是,我只找到默认模型QuerySet的文档,而找不到用于序列化ValuesQuerySet的任何文档(未知模型时)。 我怎样才能做到这一点?

我已经看到了这个答案,但是该解决方案不适用于我的情况。

这是代码,不使用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')

尝试这个:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM