我尝试过这样的JSON:
{
"course_name": "name",
"course_id": "44",
"icon": 1,
"published_at":"2014-10-23T03:15:54Z",
"skills": {
"self":[
{
"skill_name": "Cuidado Emocional",
"points": 5,
},
{
"skill_name": "Cuidado Físico",
"points": 5,
}
],
"abilities":[
{
"skill_name": "Principios Básicos",
"points":5,
},
{
"skill_name": "Administración",
"points": 5,
}
]
},
如果技能字典中有一个字段是“可用性类型”,我想按“类型能力”分组:
这是我的模型
^{pr2}$我尝试过创建这样的序列化程序
class AbilitySerializer(serializers.ModelSerializer):
dictAutoCuidado = {}
dictHabilidades = {}
class Meta:
model = Ability
fields = ('ability', 'points')
def to_native(self, value):
if value.ability_type == 'AU':
self.dictAutoCuidado.update({
'skill_name': value.ability,
'points': value.points
})
else:
self.dictHabilidades.update({
'skill_name': value.ability,
'points': value.points
})
return {
'self': self.dictAutoCuidado,
'ability': self.dictHabilidades
}
class CourseListSerializer(serializers.ModelSerializer):
author = serializers.RelatedField(source='author.name')
objectives = serializers.RelatedField(many=True)
abilities = AbilitySerializer(many=True)
class Meta:
model = Course
fields = (
'id',
'title',
'description',
'objectives',
'abilities',
)
但是当我重新加载页面时,JSON是
{
"id": 1,
"title": "La vida es bella",
"created_at": "2014-10-23T02:06:21Z",
"abilities": [
{
"self": {
"points": 100,
"skill_name": "Habilidad 1"
},
"ability": {
"points": 250,
"skill_name": "Habilidad 2"
}
},
{
"self": {
"points": 100,
"skill_name": "Habilidad 1"
},
"ability": {
"points": 250,
"skill_name": "Habilidad 2"
}
},
{
"self": {
"points": 100,
"skill_name": "Habilidad 1"
},
"ability": {
"points": 250,
"skill_name": "Habilidad 2"
}
}
]
}
而且这些能力并不是我想要的那样分组。你能告诉我我做错什么了吗?还有一个解决办法吗?我试过用一些查询集,但是没有用。我试图重写init方法,但我没有找到按我想要的方式返回自定义dictural group by。在
谢谢。在
目前没有回答
相关问题 更多 >
编程相关推荐