Найти в Дзене

Запускаем приложение на Django по учебнику, часть 3,5

В прошлый раз я особо не продвинулся, поскольку остановился на разборе содержания файла settings.py. Потратил не мало времени, зато теперь не страшно туда заглядывать. Настало время очередного «трая». Итак, Django по умолчанию использует SQLite. SQLite — это встраиваемая кроссплатформенная база данных, которая поддерживает набор команд SQL. Послушаю совет из учебника и не буду менять SQLite на что-то другое. Все равно пока мне не особо понятны различия между SQLite и PostgreSQL. А вот часовой пояс я пожалуй поменяю и укажу 'America/Los_Angeles' (UTC - 08:00). Это дань уважения Blizzard, штаб квартира которой находится в Калифорнии. Список часовых поясов можно подсмотреть тут, нужен третий столбец. Модели. В учебнике говорится, что Django придерживается принципу DRY при работе с моделями. Принцип DRY означает, что каждая отдельная концепция и/или кусок данных следует хранить лишь в одном месте. Не нужно повторять один и тот же код. В файле polls/models.py необходимо описать две модели

В прошлый раз я особо не продвинулся, поскольку остановился на разборе содержания файла settings.py. Потратил не мало времени, зато теперь не страшно туда заглядывать. Настало время очередного «трая».

Итак, Django по умолчанию использует SQLite. SQLite — это встраиваемая кроссплатформенная база данных, которая поддерживает набор команд SQL. Послушаю совет из учебника и не буду менять SQLite на что-то другое. Все равно пока мне не особо понятны различия между SQLite и PostgreSQL. А вот часовой пояс я пожалуй поменяю и укажу 'America/Los_Angeles' (UTC - 08:00). Это дань уважения Blizzard, штаб квартира которой находится в Калифорнии. Список часовых поясов можно подсмотреть тут, нужен третий столбец.

А где бы вы разместили штаб квартиру своей многомиллионной компании ?
А где бы вы разместили штаб квартиру своей многомиллионной компании ?

Модели. В учебнике говорится, что Django придерживается принципу DRY при работе с моделями. Принцип DRY означает, что каждая отдельная концепция и/или кусок данных следует хранить лишь в одном месте. Не нужно повторять один и тот же код. В файле polls/models.py необходимо описать две модели Question и Choice. Вопрос и ответ, все логично.

Класс Question содержит две переменных question_text и pub_date. Каждое поле является экземпляром класса Field и имеет название в котором есть Field (Капитан не дремлет). CharField используется для написания текста (строк) малого и большого размера. Если я правильно разобрался в документации, то CharField не может содержать больше 255 символов. DateTimeField используется для отражения даты и времени. Строка date published это человеко-читаемое название, которое будет использоваться в коде вместо pub_date.

Класс Choice содержит три переменных question, choice_text и votes. ForeignKey используется для обозначения связи между моделями, а именно для формирования отношения «многие-к-одному». В моем случае у одного вопроса моет быть много ответов. Этот класс имеет примерно следующую структуру FоrеingКеу (<связываемая первичная модель> Question, оn_dеlеtе=<поведение при удалении записи> models.CASCADE , <остальные параметры>). Models.CASCADE - удаляет все связанные записи вторичной модели (каскадное удаление). Вторичная модель это Choice. В случае если я удалю вопрос, то Django удалит все ответы которые были связаны с этим вопросом. Сhoice_text содержит в себе уже ранее упомянутый CharField с указанием на ограничение текста в 200 символов. Votes содержит в себе поле IntegerField, которое хранит в себе целые числа и его значение первоначально равно нулю. Это поле будет использоваться для подсчета выбранных ответов.

Поскольку, к счастью или к сожалению, я живу не по Калифоринийскому времени, и у меня не 10:00 часов, а чуть позднее, пора заканчивать этот «выстраданный» написанный с большим трудом пост.

Kirninn уровень 2.

Умения:

Python 24 из over 1000000
Django 4,5 из over 1000000
HTML, CSS 1 из over 1000000
Способности:
Знание законодательства РФ (бесполезно для программирования)
Снаряжение: учебник Марка Лутца «Изучаем Python», Atom, ConEmu
Онлайн курс «Профессия Python программист» 60 часов из ...
Онлайн курс «Python: основы и применение» завершен.
Онлайн курс «Программирование на Python» завершен