2

私は PostgreSQL の Ltree 拡張機能を試してきました。階層的な to-do リスト データ (つまり、サブ リストを含むリスト) を格納するために使用したいと考えています。それはうまく機能しますが、かなりの時間を費やした後でも、データベースから情報を階層的な JSON 形式で取得する良い方法を見つけることができません。これが私が達成したいことの例です:

 id |        content         | position | parent_id | parent_path 
----+------------------------+-----------+----------+-------------+
  1 | Fix lecture notes.     |        1 |           | root
  2 | Sort out red folder.   |        1 |         1 | root.1
  3 | Order files.           |        1 |         2 | root.1.2
  4 | Label topics.          |        2 |         2 | root.1.2
  5 | Sort out blue folder.  |        2 |         1 | root.1
  6 | Look for jobs.         |        2 |           | root

これから、以下のjson出力に:

[
   {
      "id":1,
      "content":"Fix lecture notes.",
      "position":1,
      "parent_id":null,
      "parent_path":"root",
      "children":[
         {
            "id":2,
            "content":"Sort out red folder.",
            "position":1,
            "parent_id":1,
            "parent_path":"root.1",
            "children":[
               {
                  "id":3,
                  "content":"Order files.",
                  "position":1,
                  "parent_id":2,
                  "parent_path":"root.1.2",
                  "children":[]
               },
               {
                  "id":4,
                  "content":"Label topics.",
                  "position":2,
                  "parent_id":2,
                  "parent_path":"root.1.2",
                  "children":[]
               }
            ]
         },
         {
            "id":2,
            "content":"Sort out blue folder.",
            "position":2,
            "parent_id":1,
            "parent_path":"root.1",
            "children":[]
         }
      ]
   },
   {
      "id":1,
      "content":"Look for jobs.",
      "position":1,
      "parent_id":null,
      "parent_path":"root",
      "children":[]
   }
]

おそらくPythonサーバー側でこれを行うことができるきちんとした方法はありますか? アイデア募集中!

4

0 に答える 0