Files
we_pro_dock/BACKEND/GOODS.md
2024-05-14 11:39:33 +03:00

10 KiB
Raw Blame History

Модель имущества

  1. GoodsType:
    • name: Название типа имущества.
  2. ConsumableType:
    • name: Название типа расходуемых ТМЦ.
  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. AuthorSerializer:
    • username: Имя пользователя.
    • bio: Биография пользователя.
    • image: Изображение пользователя.
    • following: Подписка пользователя (булево значение).
  2. GoodsTypeSerializer:
    • id: Идентификатор типа имущества.
    • goodsTypeName: Название типа имущества.
    • author: Автор типа имущества (сериализатор AuthorSerializer).
    • createdAt: Дата и время создания типа имущества.
    • updatedAt: Дата и время последнего обновления типа имущества.
  3. ConsumableTypeSerializer:
    • id: Идентификатор типа расходуемых ТМЦ.
    • consumableTypeName: Название типа расходуемых ТМЦ.
    • author: Автор типа расходуемых ТМЦ (сериализатор AuthorSerializer).
    • createdAt: Дата и время создания типа расходуемых ТМЦ.
    • updatedAt: Дата и время последнего обновления типа расходуемых ТМЦ.
  4. GoodsSerializer:
    • id: Идентификатор имущества.
    • goods_type: Тип имущества.
    • goodsName: Название имущества.
    • goodsInventoryNumber: Инвентарный номер имущества.
    • goodsDescription: Описание имущества.
    • goodsPhoto: Фотография имущества.
    • goodsConditionDescription: Описание состояния имущества.
    • goodsDamageDateTime: Дата и время обнаружения повреждения имущества.
    • goodsRelatedObject: Объект, к которому относится имущество.
    • goodsResponsiblePerson: Ответственное лицо за имущество.
    • goodsStatus: Статус имущества.
    • author: Автор имущества (сериализатор AuthorSerializer).
    • createdAt: Дата и время создания имущества.
    • updatedAt: Дата и время последнего обновления имущества.
  5. ConsumableSerializer:
    • id: Идентификатор расходуемого товара.
    • consumable_type: Тип расходуемого товара.
    • consumableName: Название расходуемого товара.
    • consumableDescription: Описание расходуемого товара.
    • consumablePhoto: Фотография расходуемого товара.
    • consumableQuantity: Количество расходуемого товара.
    • consumableQuantityUnit: Единица измерения количества товара.
    • consumableRelatedObject: Объект, к которому относится товар.
    • consumableResponsiblePerson: Ответственное лицо за товар.
    • author: Автор расходуемого товара (сериализатор AuthorSerializer).
    • createdAt: Дата и время создания расходуемого товара.
    • updatedAt: Дата и время последнего обновления расходуемого товара.

Маршрутизатор

  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: Удаляет расходуемый товар.
    • Права доступа: Только аутентифицированные пользователи могут управлять расходуемыми товарами.