Найти - Пользователи
Полная версия: Завязась модель саму на себя
Начало » Django » Завязась модель саму на себя
1
dissdoc
Всем привет. Оптимизирую класс “ссылки”.
Появилась проблема. Модель такая (максимально упрощена)
class Links(models.Model):
title = models.CharField(max_length=150)
Как мне завязать ее на саму себя. Т.е. пользователь набивает кучу ссылок:
link1, link2, link3, link4, link5
Хочу, добавить еще поле одно, в котором можно указать зависимость. Чтобы получились и ссылки и подссылки. Я же знаю допустим, что к link1 относятся ссылки link2 и link3, а к link4 относится link5
Александр Кошелев
http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey
To create a recursive relationship – an object that has a many-to-one relationship with itself – use models.ForeignKey('self').
dissdoc, пожалуйста научитесь уже читать документацию.
dissdoc
Появились проблемы при выводе в шаблон. Смотрите, как вывожу это дерево
{% for menu in links_list %}
{{ menu.title }}<br>
{% for submenu in menu.menu_set.all %}
{{ submenu.title }}
{% endfor %}
{% endfor %}
Но что-то не то…
Александр Кошелев
dissdoc
Но что-то не то…
Вы нам предлагаете угадать “что”?
dissdoc
Нет, не предлагаю. Не так выразился. Внутренний цикл не срабатывает. Проблема, почти уверен в строке menu.menu_set.all. А как тогда связанные области вытянуть иначе… Вроде логичная строчка… Но что тут не так - не понятно!..
slav0nic
возьми и проверь в консоли, в шаблоне ошибки модели ты не увидишь
dissdoc
Говорит, нет такого аттрибута menu_set =\
Александр Кошелев
Так вы модель покажите или будете её прятать под одеялом?

Скорей всего атрибут должен называться link_set.
dissdoc
Александр Кошелев, именно link_set. =( Блин, какой я невнимательный…
Спасибо Вам огромное.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB