118 lines
10 KiB
Markdown
118 lines
10 KiB
Markdown
## Модель имущества
|
||
1. **GoodsType:**
|
||
- `name`(CharField): Название типа имущества.
|
||
|
||
2. **ConsumableType:**
|
||
- `name`(CharField): Название типа расходуемых ТМЦ.
|
||
|
||
3. **Goods:**
|
||
- **`goods_type`** (ForeignKey): Связь с типом имущества (`GoodsType`).
|
||
- **`goods_name`** (CharField): Название имущества.
|
||
- **`inventory_number`** (CharField): Инвентарный номер имущества.
|
||
- **`description`** (TextField): Описание имущества.
|
||
- **`goods_photo`** (ManyToManyField): Фотографии имущества (связь с моделью `ImageGoods`).
|
||
- **`condition_description`** (TextField): Описание состояния имущества.
|
||
- **`damage_date_time`** (DateTimeField): Дата и время обнаружения порчи.
|
||
- **`related_object`** (ForeignKey): Связь с объектом (`Object`), к которому относится имущество.
|
||
- **`responsible_person`** (CharField): Ответственное лицо за имущество.
|
||
- **`status`** (CharField): Статус состояния имущества (`good` - хорошее, `damaged` - поврежденное).
|
||
|
||
4. **Consumable:**
|
||
- **`consumable_type`** (ForeignKey): Связь с типом расходуемых ТМЦ (`ConsumableType`).
|
||
- **`name`** (CharField): Название расходуемого товара.
|
||
- **`description`** (TextField): Описание товара.
|
||
- **`consumable_photo`** (ManyToManyField): Фотографии товара (связь с моделью `ImageGoods`).
|
||
- **`quantity`** (PositiveIntegerField): Количество товара.
|
||
- **`quantity_unit`** (CharField): Единица измерения количества (выбор из предопределенных вариантов, например, шт., кг, л и т. д.).
|
||
- **`related_object`** (ForeignKey): Связь с объектом (`Object`), к которому относится товар.
|
||
- **`responsible_person`** (CharField): Ответственное лицо за товар.
|
||
## Сериализатор
|
||
|
||
1. **GoodsTypeSerializer:**
|
||
- `id` (IntegerField): Идентификатор типа имущества.
|
||
- `goodsTypeName` (CharField): Название типа имущества.
|
||
- `author` (SerializerMethodField): Автор типа имущества (сериализатор `AuthorSerializer`).
|
||
- `createdAt` (DateTimeField): Дата и время создания типа имущества.
|
||
- `updatedAt` (DateTimeField): Дата и время последнего обновления типа имущества.
|
||
|
||
2. **ConsumableTypeSerializer:**
|
||
- `id` (IntegerField): Идентификатор типа расходуемых ТМЦ.
|
||
- `consumableTypeName` (CharField): Название типа расходуемых ТМЦ.
|
||
- `author` (SerializerMethodField): Автор типа расходуемых ТМЦ (сериализатор `AuthorSerializer`).
|
||
- `createdAt` (DateTimeField): Дата и время создания типа расходуемых ТМЦ.
|
||
- `updatedAt` (DateTimeField): Дата и время последнего обновления типа расходуемых ТМЦ.
|
||
|
||
3. **GoodsSerializer:**
|
||
- `id` (IntegerField): Идентификатор имущества.
|
||
- `goods_type` (GoodsTypeSerializer): Тип имущества.
|
||
- `goodsName` (CharField): Название имущества.
|
||
- `goodsInventoryNumber` (CharField): Инвентарный номер имущества.
|
||
- `goodsDescription` (TextField): Описание имущества.
|
||
- `goodsPhoto` (ManyToManyField): Фотография имущества.
|
||
- `goodsConditionDescription` (TextField): Описание состояния имущества.
|
||
- `goodsDamageDateTime` (DateTimeField): Дата и время обнаружения повреждения имущества.
|
||
- `goodsRelatedObject` (ForeignKey): Объект, к которому относится имущество.
|
||
- `goodsResponsiblePerson` (CharField): Ответственное лицо за имущество.
|
||
- `goodsStatus` (CharField): Статус имущества.
|
||
- `author` (SerializerMethodField): Автор имущества (сериализатор `AuthorSerializer`).
|
||
- `createdAt` (DateTimeField): Дата и время создания имущества.
|
||
- `updatedAt` (DateTimeField): Дата и время последнего обновления имущества.
|
||
|
||
4. **ConsumableSerializer:**
|
||
- `id` (IntegerField): Идентификатор расходуемого товара.
|
||
- `consumable_type` (ConsumableTypeSerializer): Тип расходуемого товара.
|
||
- `consumableName` (CharField): Название расходуемого товара.
|
||
- `consumableDescription` (TextField): Описание расходуемого товара.
|
||
- `consumablePhoto` (ManyToManyField): Фотография расходуемого товара.
|
||
- `consumableQuantity` (PositiveIntegerField): Количество расходуемого товара.
|
||
- `consumableQuantityUnit` (CharField): Единица измерения количества товара.
|
||
- `consumableRelatedObject` (ForeignKey): Объект, к которому относится товар.
|
||
- `consumableResponsiblePerson` (CharField): Ответственное лицо за товар.
|
||
- `author` (SerializerMethodField): Автор расходуемого товара (сериализатор `AuthorSerializer`).
|
||
- `createdAt` (DateTimeField): Дата и время создания расходуемого товара.
|
||
- `updatedAt` (DateTimeField): Дата и время последнего обновления расходуемого товара.
|
||
## Маршрутизатор
|
||
|
||
1. `router.register('goods', GoodsView, basename='goods')`: Регистрация представления `GoodsView` в маршрутизаторе под именем `'goods'`, с указанием базового имени `'goods'`. Это создаст URL-адреса для операций CRUD (создание, чтение, обновление, удаление) имущества.
|
||
|
||
2. `router.register('goods-types', GoodsTypeView, basename='goods-types')`: Регистрация представления `GoodsTypeView` в маршрутизаторе под именем `'goods-types'`, с указанием базового имени `'goods-types'`. Это создаст URL-адреса для операций CRUD (создание, чтение, обновление, удаление) типов имущества.
|
||
|
||
3. `router.register('consumable-types', ConsumableTypeView, basename='consumable-types')`: Регистрация представления `ConsumableTypeView` в маршрутизаторе под именем `'consumable-types'`, с указанием базового имени `'consumable-types'`. Это создаст URL-адреса для операций CRUD (создание, чтение, обновление, удаление) типов расходуемых товаров.
|
||
|
||
4. `router.register('consumable', ConsumableView, basename='consumable')`: Регистрация представления `ConsumableView` в маршрутизаторе под именем `'consumable'`, с указанием базового имени `'consumable'`. Это создаст URL-адреса для операций CRUD (создание, чтение, обновление, удаление) расходуемых товаров.
|
||
|
||
## Контроллер
|
||
|
||
1. **GoodsView:**
|
||
- **Описание:** Это представление, использующее `ModelViewSet`, обрабатывает операции CRUD для имущества.
|
||
- **Методы:**
|
||
- **`list`:** Возвращает список имущества.
|
||
- **`create`:** Создает новое имущество.
|
||
- **`retrieve`:** Возвращает конкретное имущество по его идентификатору.
|
||
- **`update`:** Обновляет существующее имущество.
|
||
- **`destroy`:** Удаляет имущество.
|
||
- **Права доступа:** Только аутентифицированные пользователи имеют доступ к этим методам.
|
||
|
||
2. **GoodsTypeView:**
|
||
- **Описание:** Это представление, также использующее `ModelViewSet`, для операций CRUD с типами имущества.
|
||
- **Методы:**
|
||
- **`list`:** Возвращает список типов имущества.
|
||
- **`create`:** Создает новый тип имущества.
|
||
- `**destroy`:** Удаляет тип имущества.
|
||
- **Права доступа:** Только аутентифицированные пользователи могут выполнять действия с типами имущества.
|
||
|
||
3. **ConsumableTypeView:**
|
||
- **Описание:** Представление для операций CRUD с типами расходуемых товаров.
|
||
- **Методы:**
|
||
- **`list`:** Возвращает список типов расходуемых товаров.
|
||
- `**create`:** Создает новый тип расходуемого товара.
|
||
- **`destroy`:** Удаляет тип расходуемого товара.
|
||
- **Права доступа:** Только аутентифицированные пользователи имеют доступ к этим методам.
|
||
|
||
4. **ConsumableView:**
|
||
- **Описание:** Представление для операций CRUD с расходуемыми товарами.
|
||
- **Методы:**
|
||
- **`list`:** Возвращает список расходуемых товаров.
|
||
- **`create`:** Создает новый расходуемый товар.
|
||
- **`destroy`:** Удаляет расходуемый товар.
|
||
- **Права доступа:** Только аутентифицированные пользователи могут управлять расходуемыми товарами. |