иерархическая группа django запрос - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь получить иерархическую группу в категориях, используя только один или максимум два набора запросов django. Я получил Django эту модель:

from django.db import models

class Category(models.Model):
    level = models.CharField(max_length=10)
    name = models.CharField(max_length=45)
    parent = models.ForeignKey('Category')

, и это набор запросов, который я получил:

 categories = Category.objects.all().order_by("parent").order_by("level").values()

Я пытаюсь сделать это:

[
    {
    "id": 1,
    "name": "Tecnología",
    "level": "l1",
    "parent_id": null,
    "child":[
            {
            "id": 3,
            "name": "Computación Lorem",
            "level": "l2",
            "parent_id": 1,
            "child":[
                    {
                    "id": 5,
                    "name": "Portatiles",
                    "level": "l3",
                    "parent_id": 3
                    }
                    ]
            }
            ]
    }
]

Я знаю, что у этого json новый ярлык («ребенок»). Я не могу это создать, поэтому мне нужен способ как можно ближе к верхнему. Но вот что у меня есть:

[
{
    "id": 1,
    "level": "l1",
    "name": "Tecnología",
    "parent_id": null,
},


{
    "id": 3,
    "level": "l2",
    "name": "Computación Lorem",
    "parent_id": 1,
},
{
    "id": 5,
    "level": "l3",
    "name": "Portatiles",
    "parent_id": 3,
}
]

Не могли бы вы, народ, протянуть мне дружескую руку, пожалуйста? Я очень это оценю.

...