Модели джанго(дерего каталог)

Рейтинг: -1Ответов: 1Опубликовано: 06.03.2023

Можно ли как-нибудь реализвать, чтобы модель была сама для себя связана один ко многим, что я имеею ввиду

from django.db import models


class Menu(models.Model):
    name = models.CharField(max_length=50)
    parent = models.ForeignKey(Menu, default=None)

    def __str__(self):
        return self.name

В этом примере еще нету класса Menu, поэтому он ругается! Для чего мне это? Я хочу сделать меню, которое будет состоять из подменю, а подменю может состоять из подподменю) и т.д, а для этого надо помнить родителя. Может советом подскажите, как такое реализовать(Идея с 2 моделями мне не оч нравится от слова совсем, т.к это только 2 уровень вложенности получается)

что-то типа такого

Ответы

▲ 3

С помощью self:

parent = models.ForeignKey('self', related_name='submenu')