Python 从Django中的数据库创建JSON树
我需要创建JSON文件以反映Python/Django中的树结构 我有两个选择——在创建树的每个节点时调用数据库,或者一次从数据库中提取数据,然后创建树。我认为在每个节点上为数千个数据调用数据库将是一项缓慢的任务,所以决定首先从数据库中创建原始JSON数据,然后再创建JSON树。我从数据库[PostgreSQL]创建了原始JSON数据。原始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": "
[{"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!告诉别人总是很重要的,包括任何失败尝试的片段,这样他们就能理解你错过了什么。这一点很重要,因为它激励人们回答问题,这一点很重要,因为它使人们更容易给出高质量、相关的答案。就目前的状况而言,这一目标尚未实现。如果您编辑问题,可能会阻止问题被关闭,并且您得到的答案的数量、质量和清晰度也会提高。