Files
we_pro_dock/BACKEND/GOODS.md
2024-05-14 16:58:27 +03:00

10 KiB
Raw Permalink Blame History

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

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