Python 从Django中的数据库创建JSON树

Python 从Django中的数据库创建JSON树,python,django,postgresql,Python,Django,Postgresql,我需要创建JSON文件以反映Python/Django中的树结构 我有两个选择——在创建树的每个节点时调用数据库,或者一次从数据库中提取数据,然后创建树。我认为在每个节点上为数千个数据调用数据库将是一项缓慢的任务,所以决定首先从数据库中创建原始JSON数据,然后再创建JSON树。我从数据库[PostgreSQL]创建了原始JSON数据。原始JSON数据如下所示: [{"Name": "Michael Andrew", "class": "A", "order": "B", "family": "

我需要创建JSON文件以反映Python/Django中的树结构

我有两个选择——在创建树的每个节点时调用数据库,或者一次从数据库中提取数据,然后创建树。我认为在每个节点上为数千个数据调用数据库将是一项缓慢的任务,所以决定首先从数据库中创建原始JSON数据,然后再创建JSON树。我从数据库[PostgreSQL]创建了原始JSON数据。原始JSON数据如下所示:

[{"Name": "Michael Andrew", "class": "A", "order": "B", "family": "C"}, {"Name": "John Belew", "class": "A", "order": "D", "family": "E"}, {"Name": "Warren Noah", "class": "F", "order": "G", "family": "H"}]
我希望通过Django/Python中的上述数据生成以下JSON树:

    {
"name": "jsontree",
"children":[
{
    "name": "A",
    "children": [
    {
        "name": "B",
        "children": [
        {
            "name": "C",
            "children": [
            {
                "name": "Michael Andrew"
            }]
        }]
    },
    {
        "name": "D",
        "children": [
        {
            "name": "E",
            "children": [
            {
                "name": "John Belew"
            }]
        }]
    }]

},
{
    "name": "F",
    "children": [
    {
        "name": "G",
        "children": [
        {
            "name": "H",
            "children": [
            {
                "name": "Warren Noah"
            }]
        }]
    }]
}]
    }

在Python中实现这一点的有效方法是什么?我听说django mptt从数据库创建JSON树,但不知道它实际上是什么。

要从数据库转储JSON文件,请使用
python manage.py dumpdata
。使用
--indent=2
json树的形式获取输出。如果您有一个名为blog的django应用程序,请运行以下命令:

python manage.py dumpdata blog --indent=2 > blog/blog.json
或对于django用户模型:

python manage.py dumpdata auth.User --indent=2 > user.json

查询然后json.dump官方文档中的更多信息(关于json,您可以在python文档中找到它)欢迎使用Stack Overflow!告诉别人总是很重要的,包括任何失败尝试的片段,这样他们就能理解你错过了什么。这一点很重要,因为它激励人们回答问题,这一点很重要,因为它使人们更容易给出高质量、相关的答案。就目前的状况而言,这一目标尚未实现。如果您编辑问题,可能会阻止问题被关闭,并且您得到的答案的数量、质量和清晰度也会提高。