簡體   English   中英

使用 Django REST 框架序列化 Django-mptt 模型

[英]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 和序列化程序。 怎么做?

這反應了一年為時已晚,但對於其他人的利益,使用RecursiveFielddjangorestframework遞歸的包,它可以通過安裝:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM