小编dio*_*mao的帖子

如何序列化 Django MPTT 系列并保持其层次结构?

我试图找到解决这个谷歌缓存

我只能想出这样的解决方案:

import json

from mptt.utils import tree_item_iterator
from rest_framework import generics
from rest_framework.response import Response

from .models import Category

def tree_family_items_to_json(instances):
    data = ''
    channel = '"{}"'.format(instances[0].channel.slug)
    for category, structure in tree_item_iterator(instances):
        if structure['new_level']:
        data += '{'
        else:
            data += '],'
            data += '"channel": {}'.format(channel)
            data += '},{'
        data += '"slug": "{}",'.format(category.slug)
        data += '"name": "{}",'.format(category.name)
        data += '"subcategories": ['
        for level in structure['closed_levels']:
            data += '],'
            data += '"channel": {}'.format(channel)
            data += '}'

    return …
Run Code Online (Sandbox Code Playgroud)

python django mptt django-mptt django-rest-framework

4
推荐指数
1
解决办法
1928
查看次数