NogerbekNurzhan,
Не люблю писать за кого-то код бесплатно, но так и быть.
def search_child(documents, parent):
childs = {}
for document in documents:
if parent.id == document.parent_id:
childs.update({document: search_child(documents, document)})
return childs
documents = list(Document.objects.all())
tree = {document: search_child(documents, document) for document in documents if not document.parent_id}
Без сортировки по позиции и код можно улучшить, не проверял его, но идея думаю понятна. Если нужна сортировка и определенный порядок логичнее сделать то же самое на списках, кортежах, OrderedDict.
Валентин, ajax запрос - сортировка - рендер html - ответ - вставка в нужное место. На фронте делается только запрос и принимается ответ, вот и вся динамика.
Не вариант одним запросом собрать все документы вместе с детьми и отдать в шаблон уже готовое дерево?
Насколько понимаю get_children делает новый запрос.
Bjornie, есть два подхода, первый взять десять батареек подружить их с друг другом и сайт готов, второй не тащить вещи которые можно написать за час в свой проект, каждый сам решает что ему ближе и удобнее, второй подход ещё дает больше свободы свою реализацию можно вылизывать и дописывать бесконечно и она идеально будет подходить к вашим нуждам.
1. Генерация PDF из html, конечно ищу пакет который такое умеет, самому писать очень долго.
2. Авторизация на сайте, это изи, пишу своё использую встроенные возможности джанги.
Дополню return answer
эта строчка должна быть на одном уровне с for, а в if засунуть break.
Иначе будет возвращать None если нечего не найдено, вместо 'NotFound'.
Дмитрий, если корочку вам даст Яндекс или какой-нибудь Гугл может это ещё как-то повлияет на трудоустройство, но прошел курс на рандомном сайте в интернете за 99$ не даст вам не каких бонусов.
PupkinBro, что бы поправить данный вариант, надо понять что вообще происходит и как работает данная сортировка. Сделать это проще по варианту который указал Влад Григорьев по ссылке или просто прочитать вики с описанием алгоритма. После берете и исправляете ваш вариант.
А найти того кто будет искать ошибки в вашем лапше коде думаю будет не просто.
DarkByte2015, вам же кинули целые разделы в доке куда копать, туда и копайте.
Не хотите разбираться в доке и вам вообще лень думать, добро пожаловать на фриланс биржи.
Нет, для начала прочитай про pep8.
Далее учебник русского языка и учебник английского языка.
Потом сотри то что ты написал, затри нулями область памяти где это лежало и попробуй снова.
Я серьезно, выглядит отвратительно и да про pep8 я уже говорил?
Mariastown, если у тебя в модели юзера есть поле с id всех юзеров на кого подписан.
Далее все просто, уточняй в вопросе что именно непонятно и кидай код запросов, код модели.
Post.objects.filter(date_pub__range=date, creator__in=users)
Не люблю писать за кого-то код бесплатно, но так и быть.
Без сортировки по позиции и код можно улучшить, не проверял его, но идея думаю понятна. Если нужна сортировка и определенный порядок логичнее сделать то же самое на списках, кортежах, OrderedDict.