【发布时间】:2015-09-13 07:41:28
【问题描述】:
我的问题与 Django RestFramework 有关,是关于如何对元素进行分组。
这是我的 serializers.py
from collaborativeAPP.models import *
from rest_framework import serializers
class VocabSerializer(serializers.ModelSerializer):
term_word = serializers.CharField(source='term.word',read_only=True)
kwdGroup = serializers.StringRelatedField()
class Meta:
model = Vocab
fields = ('id','term_word', 'meaning','kwdGroup')
class TermSerializer(serializers.ModelSerializer):
word = serializers.CharField(read_only=True)
class Meta:
model = Term
fields = ('url', 'word')
下面的json是实际结果:
{"results":[
{
"id": 5,
"term_word": "word1",
"meaning": "Text1"
"kwdGroup": "A"
},
{
"id": 6,
"term_word": "word2",
"meaning": "Text2"
"kwdGroup": "A"
},
{
"id": 7,
"term_word": "word3",
"meaning": "Text3"
"kwdGroup": "A"
}
]}
你可以注意到“kwdGroup”是一个重复的元素,我要分组。
我想按 kwdGroup 分组
{"A":[
{
"id": 5,
"term_word": "word1",
"meaning": "Text1"
},
{
"id": 6,
"term_word": "word2",
"meaning": "Text2"
},
{
"id": 7,
"term_word": "word3",
"meaning": "Text3"
}
]
}
我正在寻找关于 api 指南的 http://www.django-rest-framework.org/ 的答案,但我很难找到一种方法来引导它。 你有同样的问题吗?你有什么建议我该怎么做?您有任何使用 Django RestFramework 处理元素分组的示例吗?
提前致谢。
【问题讨论】:
-
如何获得“实际”结果?请添加视图的代码,或用于获取数据的查询
-
Sylvain,对于我的问题,您不需要评估代码。如果您知道 django RestFramework,您只需要知道 DjangoRestFrameWork 是否提供此功能。有几个脚本有助于构建这个 json(serializer.py、models.py、views.py、urls.py),显示所有这些是没有意义的。我可以证明可以帮助的是现在更新的序列化程序。
-
我最近遇到了同样的问题。我只是避免使用序列化程序,并覆盖视图的 get 方法以直接生成 JSON 输出。我想知道是否有办法用序列化器巧妙地做到这一点。我实际上有 2 个级别的分组要做。
标签: json xml django django-rest-framework