inventory serializer

This commit is contained in:
caoqianming 2021-09-29 11:40:31 +08:00
parent 22090a60d3
commit 89d5eb0686
3 changed files with 19 additions and 8 deletions

View File

@ -1,5 +1,6 @@
from django.shortcuts import render from django.shortcuts import render
from rest_framework.viewsets import ModelViewSet from rest_framework.mixins import ListModelMixin
from rest_framework.viewsets import GenericViewSet, ModelViewSet
from apps.inm.models import WareHouse,Inventory from apps.inm.models import WareHouse,Inventory
from apps.inm.serializers import WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer,InventoryCreateUpdateSerializer from apps.inm.serializers import WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer,InventoryCreateUpdateSerializer
@ -23,7 +24,8 @@ class WarehouseViewSet(CreateUpdateModelAMixin, ModelViewSet):
if self.action in ['create', 'update']: if self.action in ['create', 'update']:
return WareHouseCreateUpdateSerializer return WareHouseCreateUpdateSerializer
return WareHouseSerializer return WareHouseSerializer
class InventoryViewSet(CreateUpdateModelAMixin, ModelViewSet):
class InventoryViewSet(ListModelMixin, GenericViewSet):
""" """
物料基本信息-增删改查 物料基本信息-增删改查
""" """
@ -33,8 +35,3 @@ class InventoryViewSet(CreateUpdateModelAMixin, ModelViewSet):
filterset_fields = [] filterset_fields = []
ordering_fields = ['create_time'] ordering_fields = ['create_time']
ordering = ['-create_time'] ordering = ['-create_time']
def get_serializer_class(self):
if self.action in ['create', 'update']:
return InventoryCreateUpdateSerializer
return InventorySerializer

View File

@ -77,7 +77,7 @@ class TicketListSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Ticket model = Ticket
fields = ['id', 'title', 'sn', 'workflow', 'workflow_', 'state', 'state_', 'act_state'] fields = ['id', 'title', 'sn', 'workflow', 'workflow_', 'state', 'state_', 'act_state', 'distribute_type']
@staticmethod @staticmethod
def setup_eager_loading(queryset): def setup_eager_loading(queryset):

View File

@ -107,6 +107,20 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
return TicketDetailSerializer return TicketDetailSerializer
return super().get_serializer_class() return super().get_serializer_class()
def list(self, request, *args, **kwargs):
category = request.query_params.get('category', None)
if category and category in ['all', 'owner', 'duty', 'worked', 'relation']:
user = request.user
if category == 'owner':
self.queryset = Ticket.objects.filter(create_by=user)
elif category == 'duty':
self.queryset = Ticket.objects.filter(participant__contains=user.id).exclude(act_state__in=[Ticket.TICKET_ACT_STATE_FINISH, Ticket.TICKET_ACT_STATE_CLOSED])
else:
raise APIException('查询分类错误')
return super().list(request, *args, **kwargs)
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
""" """
新建工单 新建工单