140501
This commit is contained in:
@@ -5,42 +5,52 @@ GENDER_CHOICES = (
|
||||
('f', 'Женщина'),
|
||||
)
|
||||
## Модель команда
|
||||
1. **first_name** (CharField): Имя пользователя (до 60 символов).
|
||||
2. **last_name** (CharField): Фамилия пользователя (до 60 символов).
|
||||
3. **middle_name** (CharField): Фамилия пользователя (до 60 символов).
|
||||
4. **position** (CharField): Должность участника команды
|
||||
5. **work_start_time** (DateField): Дата начала работы участника
|
||||
6. **work_end_time** (DateField): Дата окончания работы участника
|
||||
7. **mobile** (CharField): Мобильный номер участника.
|
||||
8. **work_phone** (CharField): Рабочий телефон участника.
|
||||
9. **internal_number** (CharField): Внутренний номер участника.
|
||||
10. **email** (EmailField): Адрес электронной почты пользователя (уникальный).
|
||||
11. **personal_email** (EmailField): Персональный e-mail участника.
|
||||
12. **birth_date** (DateField): Дата рождения участника.
|
||||
13. website (URLField): Сайт участника.
|
||||
1. **`first_name`** (CharField): Имя пользователя (до 60 символов).
|
||||
2. **`last_name`** (CharField): Фамилия пользователя (до 60 символов).
|
||||
3. **`middle_name`** (CharField): Фамилия пользователя (до 60 символов).
|
||||
4. **`position`** (CharField): Должность участника команды
|
||||
5. **`work_start_time`** (DateField): Дата начала работы участника
|
||||
6. **`work_end_time`** (DateField): Дата окончания работы участника
|
||||
7. **`mobile`** (CharField): Мобильный номер участника.
|
||||
8. **`work_phone`** (CharField): Рабочий телефон участника.
|
||||
9. **`internal_number`** (CharField): Внутренний номер участника.
|
||||
10. **`email`** (EmailField): Адрес электронной почты пользователя (уникальный).
|
||||
11. **`personal_email`** (EmailField): Персональный e-mail участника.
|
||||
12. `**birth_date**` (DateField): Дата рождения участника.
|
||||
13. `website` (URLField): Сайт участника.
|
||||
## Модель зона ответственности
|
||||
1. **object_related** (ForeignKey): Связь с объектом.
|
||||
2. **team_related** (ManyToManyField): Связь с участниками команды.
|
||||
1. **`object_related`** (ForeignKey): Связь с объектом.
|
||||
2. `**team_related**` (ManyToManyField): Связь с участниками команды.
|
||||
## Сериализатор
|
||||
|
||||
1. **TeamSerializer**:
|
||||
- `teamLastName`, `teamFirstName`, `teamMiddleName`: Поля для фамилии, имени и отчества команды.
|
||||
- `teamBirthDate`: Поле для даты рождения команды.
|
||||
- `teamPosition`: Поле для должности в команде.
|
||||
- `teamWorkStartTime`, `teamWorkEndTime`: Поля для времени начала и окончания работы команды.
|
||||
- `teamMobile`, `teamWorkPhone`, `teamInternalNumber`, `teamEmail`, `teamPersonalEmail`, `teamWebsite`: Поля для контактной информации команды.
|
||||
- `author`: Ссылка на `AuthorSerializer` для получения информации об авторе команды.
|
||||
- `createdAt`, `updatedAt`: Дата создания и последнего обновления команды.
|
||||
- `create(self, validated_data)`: Метод для создания новой команды.
|
||||
- `update(self, instance, validated_data)`: Метод для обновления существующей команды.
|
||||
2. **WorkTeamZoneSerializer**:
|
||||
- `object_related`: Связь с объектом через его идентификатор.
|
||||
- `team_related`: Связь с командами через их идентификаторы (множественное).
|
||||
- `author`: Ссылка на `AuthorSerializer` для получения информации об авторе зоны ответственности команды.
|
||||
- `createdAt`, `updatedAt`: Дата создания и последнего обновления зоны ответственности команды.
|
||||
- `create(self, validated_data)`: Метод для создания новой зоны ответственности команды.
|
||||
- `update(self, instance, validated_data)`: Метод для обновления существующей зоны ответственности команды.
|
||||
- `teamLastName` (CharField): Фамилия команды.
|
||||
- `teamFirstName` (CharField): Имя команды.
|
||||
- `teamMiddleName` (CharField): Отчество команды.
|
||||
- `teamBirthDate` (DateField): Дата рождения команды.
|
||||
- `teamPosition` (CharField): Должность в команде.
|
||||
- `teamWorkStartTime` (TimeField): Время начала работы команды.
|
||||
- `teamWorkEndTime` (TimeField): Время окончания работы команды.
|
||||
- `teamMobile` (CharField): Мобильный телефон команды.
|
||||
- `teamWorkPhone` (CharField): Рабочий телефон команды.
|
||||
- `teamInternalNumber` (CharField): Внутренний номер команды.
|
||||
- `teamEmail` (EmailField): Электронная почта команды.
|
||||
- `teamPersonalEmail` (EmailField): Личная электронная почта команды.
|
||||
- `teamWebsite` (URLField): Веб-сайт команды.
|
||||
- `author` (AuthorSerializer): Сериализатор для автора команды.
|
||||
- `createdAt` (DateTimeField): Дата создания команды.
|
||||
- `updatedAt` (DateTimeField): Дата последнего обновления команды.
|
||||
- `create(self, validated_data)`: Метод для создания новой команды.
|
||||
- `update(self, instance, validated_data)`: Метод для обновления существующей команды.
|
||||
|
||||
2. **WorkTeamZoneSerializer**:
|
||||
- `object_related` (PrimaryKeyRelatedField): Связь с объектом через его идентификатор.
|
||||
- `team_related` (PrimaryKeyRelatedField, many=True): Связь с командами через их идентификаторы (множественное).
|
||||
- `author` (AuthorSerializer): Сериализатор для автора зоны ответственности команды.
|
||||
- `createdAt` (DateTimeField): Дата создания зоны ответственности команды.
|
||||
- `updatedAt` (DateTimeField): Дата последнего обновления зоны ответственности команды.
|
||||
- `create(self, validated_data)`: Метод для создания новой зоны ответственности команды.
|
||||
- `update(self, instance, validated_data)`: Метод для обновления существующей зоны ответственности команды.
|
||||
## Маршрутизатор
|
||||
|
||||
1. `router.register('teams', TeamViewSet, basename='teams')`: Регистрация представления `TeamViewSet` в маршрутизаторе под именем `'teams'`, с указанием базового имени `'teams'`. Это создаст URL-адреса для операций CRUD (создание, чтение, обновление, удаление) команд.
|
||||
@@ -57,6 +67,7 @@ GENDER_CHOICES = (
|
||||
- `permission_classes = [IsAuthenticatedOrReadOnly]`: Определение разрешений доступа, требующих аутентификации для изменения данных и только чтения без аутентификации.
|
||||
- `lookup_field = 'id'`: Использование поля 'id' для поиска объектов.
|
||||
- `http_method_names = ['get', 'post', 'put', 'patch', 'delete']`: Разрешенные HTTP-методы для данного представления.
|
||||
|
||||
2. Определение методов для обработки различных HTTP-запросов:
|
||||
- `get_permissions`: Переопределение метода для применения разных разрешений в зависимости от типа действия.
|
||||
- `list`: Метод для получения списка всех команд.
|
||||
@@ -64,6 +75,7 @@ GENDER_CHOICES = (
|
||||
- `retrieve`: Метод для получения информации о конкретной команде.
|
||||
- `update`: Метод для обновления информации о команде.
|
||||
- `destroy`: Метод для удаления команды.
|
||||
|
||||
3. Аналогично определено представление `WorkTeamZoneViewSet` для модели `WorkTeamZone`.
|
||||
- `queryset = WorkTeamZone.objects.all()`: Получение всех объектов модели `WorkTeamZone` из базы данных.
|
||||
- `serializer_class = WorkTeamZoneSerializer`: Использование сериализатора `WorkTeamZoneSerializer`.
|
||||
|
||||
Reference in New Issue
Block a user