Django 5 для начинающих

Прогресс по курсу:  9/1004

7.4 Профили пользователей и пользовательские поля модели User
5 из 8 шагов пройдено
0 из 15 баллов  получено

Напишите класс модели Employee, содержащую следующие поля:

  • first_name: Поле имени сотрудника, тип поля CharField, необходимо ограничить длину до 20 символов.
  • last_name: Поле фамилии сотрудника, тип поля CharField, необходимо ограничить длину до 20 символов.
  • age: Поле возраста сотрудника, тип поля PositiveIntegerField, необходимо установить значение по умолчанию равное 18.
  • job_title: Поле должности, тип поля CharField, необходимо ограничить длину до 20 символов.
  • speciality: Поле специальности, тип поля CharField, необходимо ограничить длину до 100 символов.
  • from_date: Поле даты приёма на работу, тип поля DateField.


Напишите класс модели Contact, содержащую следующие поля:

  • phone: Поле телефона сотрудника, тип поля CharField, необходимо ограничить длину до 20 символов.
  • email: Поле электронной почты, тип поля EmailField.
  • address: Поле адреса сотрудника, тип поля CharField, необходимо ограничить длину до 255 символов.
  • employee: Поле связи, необходимо добавить отношения «один-к-одному» к модели Employee. Также необходимо добавить параметр, который удаляет все связанные записи вторичной модели (каскадное удаление).

P.S. На экран ничего не нужно выводить.

Чтобы решить это задание откройте https://stepik.org/lesson/1006947/step/6

Напишите программу. Тестируется через stdin → stdout

Верно решили 67 учащихся
Из всех попыток 50% верных
Time Limit: 30 секунд
Memory Limit: 256 MB
Максимум 5 баллов за решение.

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий

Было бы интересно, чтобы для решения таких задач требовалось небольшое изучение документации. Например: 

  • address: Поле адреса сотрудника, тип поля CharField, необходимо ограничить длину до 255 символов, может быть пустым. (т.е. найти в документации опцию blank=True)
  • from_date: Поле даты приёма на работу, тип поля DateField, указать справочный текст: 'Дата приема на работу' (т.е. найти в документации help_text='...')
  • phone: Поле телефона сотрудника, тип поля CharField, необходимо ограничить длину до 20 символов. Сделать поле уникальным для данной таблицы. (unique=True)
  • employee: Поле связи, необходимо добавить отношения «один-к-одному» к модели Employee. Также необходимо добавить параметр, который препятствует удалению записи главной модели, поднимая исключение models.ProtectedError.
Изменен Кирилл Семенихин

@Кирилл_Семенихин, Очень хорошо что вы разобрались сами, это большой плюс. А мы недавно переделали вводные модули этого курса, и теперь эти вещи там рассмотрены тоже.

@Кирилл_Семенихин, в новых задачах есть такое, посмотрите уроки 3.2 и 3.4. Кроме этого будут и ещё задачи, сделаем их сложнее.

@Илья_Перминов,  Просто, хочется, чтобы не только теоретическая база этого курса была сильной, но и практическая. В наше время саму по себе информацию найти легко, а вот уметь ее применить - совсем другое дело.

@Кирилл_Семенихин, новые задачи разрабатываются, появилось много идей, в том числе благодаря замечаниям учащихся.

Не могу найти ошибку :(

Изменен Илья Перминов

@Anonymous_105352133, ошибка в имени модели Contract, буква r лишняя.

@Дмитрий_Селезнев, Спасибо