Этот сайт - интерфейс для учеников школы. Здесь можно посмотреть оценки, расписание и прочую открытую информацию. Учителя заполняют базу данных через другой сайт. Ставят там оценки и т.д.
На сайте есть ученики: Schoolkid. Класс ученика определяется через комбинацию его полей year_of_study — год обучения и group_letter — литера класса. Вместе получается, например, 10А. Ученик связан со следующими моделями:
Mark— оценка на уроке, от 2 до 5.Commendation— похвала от учителя, за особые достижения.Chastisement— замечание от учителя, за особые проступки.
Все 3 объекта связаны не только с учителем, который их создал, но и с учебным предметом (Subject). Примеры Subject:
- Математика 8 класса
- Геометрия 11 класса
- Русский язык 1 класса
- Русский язык 4 класса
Subject определяется не только названием, но и годом обучения, для которого учебный предмет проходит.
За расписание уроков отвечает модель Lesson. Каждый объект Lesson — урок в расписании. У урока есть комбинация year_of_study и group_letter, благодаря ей можно узнать для какого класса проходит этот урок. У урока есть subject и teacher, которые отвечают на вопросы "что за урок" и "кто ведёт". У урока есть room — номер кабинета, где он проходит. Урок проходит в дату date.
Расписание в школе строится по слотам:
- 8:00-8:40 — 1 урок
- 8:50-9:30 — 2 урок
- ...
У каждого Lesson есть поле timeslot, которое объясняет, какой номер у этого урока в расписании.
- Откройте Django Shell:
python manage.py shell - Импортируйте функции:
from scripts import fix_marks, remove_chastisements, create_commendation - Исправить все плохие оценки на 5:
fix_marks("Фролов Иван") - Удалить все замечания:
remove_chastisements("Фролов Иван") - Добавить похвалу по предмету:
create_commendation("Фролов Иван", "Математика")
Код написан в учебных целях — это урок в курсе по Python и веб-разработке на сайте Devman.