gpt4 book ai didi

python - 在 Django 中从数据库创建 JSON 树

转载 作者:行者123 更新时间:2023-11-29 13:30:48 24 4
gpt4 key购买 nike

我需要创建 JSON 文件以反射(reflect) 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

关于python - 在 Django 中从数据库创建 JSON 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24067791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com