Всем привет. Есть две модели - категории и итемы:

class Category(models.Model):
    name = models.CharField(max_length=200)
    parent = models.ForeignKey('self', on_delete=models.CASCADE, blank=True, null=True)

    def __str__(self):
        return self.name


class Item(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name="items")
    name = models.CharField(max_length=200)
    phone = models.CharField(max_length=30)

    def __str__(self):
        return self.name

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

Категория1

..Подкатегория1.1

....Подкатегория1.1.1

......Итем

......Итем

....Подкатегория1.2

.......Итем

.......Итем

..Итем

..Итем

Соответственно, надо вывести такой же json. Делаю через django rest framework так: в serializers.py:

class ItemSerializer(serializers.ModelSerializer):
class Meta:
    model = Item
    fields = ['category', 'name', 'phone']

class CategorySerializer(serializers.ModelSerializer):
    items = ItemSerializer(many=True)

class Meta:
    model = Category
    fields = ['pk', 'name']

И во вьюхе пишу вот так:

    queryset = Item.objects.all()
serializer = ItemSerializer(queryset, many=True)
json = JSONRenderer().render(serializer.data)

return HttpResponse(json, content_type='application/json')

Но получаю только json из итемов, без вложенности.

Уважаемые знатоки, подскажите как создать вложенность из категорий и итемов в них. Есть ли какой-то способ из коробки или придется формировать вручную?