简体   繁体   English

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

[英]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.

相关问题 使用django-rest-framework将模型对象序列化为JSON dict - Serialize model objects into a JSON dict using django-rest-framework 使用 django-rest-framework 以 python 关键字序列化 JSON - Serialize JSON with a python keyword using the django-rest-framework 如何使用 Django-Rest-Framework 序列化用户组 - How to serialize groups of a user with Django-Rest-Framework 如何将OneToOneField序列化为Django-Rest-Framework中的列表? - How can I serialize the OneToOneField to be list in Django-Rest-Framework? django-rest-framework:如何序列化数据库模型的连接? - django-rest-framework: How to serialize join of database models? 如何在 django-rest-framework 的序列化器中使用时区序列化时间? - how to serialize time with timezone in django-rest-framework's serializer? 如何在Django-rest-framework中序列化具有自定义关系的2个模型? - How to serialize 2 models with custom relationship in django-rest-framework? 如何使用 django-rest-framework 将嵌套的 m2m 字段序列化为 self ? - How can I serialize a nested m2m field to self with django-rest-framework? 使用django-rest-framework进行密码哈希处理? - Password hash using django-rest-framework? django-rest-framework:如何序列化已经包含JSON的字段? - django-rest-framework: How Do I Serialize a Field That Already Contains JSON?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM