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