Step 10 (S-69835)

From Stepik Wiki
Revision as of 09:57, 13 March 2017 by Admin (Talk | contribs) (Create page for step id=69835)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/14829/step/10

Создание моделей в Django приложении

1) Разверните репозиторий со своим проектом в директорию /home/box

2) Запустите MySQL следующей командой


sudo /etc/init.d/mysql start



При старте виртуальной машины MySQL не запущен. Его необходимо запускать самостоятельно в тех заданиях, где предполагается работа с БД.


3) Создайте базу данных в MySQL для своего проекта. В установленном MySQL заведен пользователь с именем root и без пароля. Таким образом для создания создания пользователя и базы данных вы можете выполнять команды таким образом


mysql -uroot -e "create database ..."


Подробнее про создание пользователей и баз данных в MySQL можно прочитать тут:


Т.к. база понадобится нам в последующих заданиях - сохраните все введенные команды в отдельном файле, что бы потом вы могли легко их повторить.


4) В вашем приложении qa  в файле models.py определите следующие модели обладающие следующими полями (названия моделей и полей важны!)


Question - вопрос
title - заголовок вопроса
text - полный текст вопроса
added_at - дата добавления вопроса
rating - рейтинг вопроса (число)
author - автор вопроса
likes - список пользователей, поставивших "лайк"

Answer - ответ
text - текст ответа
added_at - дата добавления ответа
question - вопрос, к которому относится ответ
author - автор ответа


В качестве модели пользователя - используйте django.contrib.auth.models.User  из стандартной системы авторизации Django.

5) Рядом с моделью Question определите менеджер реализующий следующие методы


QuestionManager - менеджер модели Question
new - метод возвращающий последние добавленные вопросы
popular - метод возвращающий вопросы отсортированные по рейтингу




6) С помощью команды manage.py syncdb  создайте необходимые таблицы для ваших моделей. Для новых версий django используеются команды makemigrations и migrate.

7) Не забудьте закомитить и сохранить на github созданные файлы.