Найти - Пользователи
Полная версия: Как написать рекурсивный метод
Начало » Django » Как написать рекурсивный метод
1
blackstone
Здравствуйте!

Python начал изучать относительно недавно, поэтому прошу совета.
Есть несложная модель, где категории хранятся в виде дерева
class Category(models.Model):
parent = models.ForeignKey("self", blank=True, null=True, related_name="child_set")
name = models.CharField(max_length=100, verbose_name="название")
Подскажите пожалуйста как написать рекурсивный метод, чтобы вывести для вложенной директории имя, в котором будут все ее предки. Например Главная::Книги::ИТ::Web::Дизайн.

Заранее спасибо.
Aries
def recurse(id):
data = # Выборка из базы, где parent = id
for i in data:
print i['id']
recurse(i['id'])
Простая рекурсия. Думаю обработаешь напильничком и будет работать.
Хотя можно и без рекурсии обойтись, а закрутить циклом, что было бы вернее.
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