Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.

todo

Добавлено 19 дек 2023 в 01:46
github.com/NatsionalnoeDostoyanie/todo
Не-такой-уж-и-простенький список дел, написанный на горячо мной любимом Django.
На полную катушку используются инструменты:
-Django ORM - составляю грамотные оптимальные запросы;
-Django Forms - работаю с элементарной передачей полей в шаблон в виде элементов, само собой; кроме того, работаю с атрибутами этих элементов, в том числе, стилевыми - их не так много, поэтому, на мой взгляд, оптимально вынести их в форму;
-Django Debug Toolbar - в основном, просматриваю SQL, чтобы оценить качество запросов;
-Django Template Language - умею подключать статические файлы, производить наследование, знаю пару тонкостей для корректного отображения данных (к примеру, что такое linebreaksbr, get_FOO_display и др.).
Реализована система регистрации и входа.
Крайняя подарившая навыки проблема: В атрибуте choices текстового поля модели указан список кортежей, каждый из которых состоит из значения и его удобочитаемого вида. При использовании ORM-команды .values() не получается отобразить в шаблоне удобочитаемый вид атрибута путем get_FOO_display (вместо значения атрибута выводится пустая строка). Дело в том, что, оказывается, .values() возвращает, грубо говоря, список словарей, а не экземпляры модели, а к словарям неприменимо get_FOO_display. Для этих целей вместо .values() необходимо использовать .only() - оно и возвращает экземпляры модели, с которыми может работать get_FOO_display. Потребовалось подумать над данными из консоли и внимательно прочитать документацию.
306d902c50