[英]Django-mptt model serialize with Django REST framework
我使用 django-mptt 来存储类别层次结构,我需要以以下格式序列化所有类别数据。
{
"id": 1,
"name": "FOOD"
"children": [
{
"id": 6,
"name": "PIZZA"
},
{
"id": 7,
"name": "BURGER"
}
],
},
{
"id": 2,
"name": "ALCOHOL"
"children": [
{
"id": 8,
"name": "WINE"
},
{
"id": 9,
"name": "VODKA"
}
],
},
}
我正在使用 django REST 框架 ModelViewset 和序列化程序。 怎么做?
这反应了一年为时已晚,但对于其他人的利益,使用RecursiveField
从djangorestframework递归的包,它可以通过安装:
pip3 install djangorestframework-recursive
我能够这样做:
from rest_framework_recursive.fields import RecursiveField
class MyModelRecursiveSerializer(serializers.Serializer):
# your other fields
children = serializers.ListField(
read_only=True, source='your_get_children_method', child=RecursiveField()
)
请注意,这可能很昂贵,因此您可能只想将其用于条目不经常更改并缓存结果的模型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.