[英]How to serialize a ValuesQuerySet using django-rest-framework?
I'd like to build an API for a complex query. 我想为复杂的查询构建一个API。
Having read the documentation, I prefer using django-rest-framework, which will provide serialization and pagination automatically for a ValuesQuerySet, rather than doing my own serialization. 阅读文档后,我更喜欢使用django-rest-framework,它将为ValuesQuerySet自动提供序列化和分页,而不是自己进行序列化。
However, I only found docs for default model QuerySet and did not find any documentation for serializing ValuesQuerySet (when the model is not known). 但是,我只找到默认模型QuerySet的文档,而找不到用于序列化ValuesQuerySet的任何文档(未知模型时)。 How can I do that?
我怎样才能做到这一点?
I've seen this answer but the solution was not applicable in my case. 我已经看到了这个答案,但是该解决方案不适用于我的情况。
Here is the code, NOT using django-rest-framework: 这是代码,不使用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')
Try this: 尝试这个:
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.