feat: 增加sam返回字段
This commit is contained in:
parent
93d0c43b05
commit
c3afc248ab
|
@ -0,0 +1,13 @@
|
|||
from django_filters import rest_framework as filters
|
||||
from apps.sam.models import OrderItem
|
||||
|
||||
|
||||
class OrderItemFilter(filters.FilterSet):
|
||||
|
||||
class Meta:
|
||||
model = OrderItem
|
||||
fields = {
|
||||
"order": ["exact", "in"],
|
||||
"order__state": ["exact", "in"],
|
||||
"mtask": ["exact", "isnull"]
|
||||
}
|
|
@ -14,6 +14,11 @@ class CustomerSerializer(CustomModelSerializer):
|
|||
|
||||
|
||||
class ContractSerializer(CustomModelSerializer):
|
||||
customer_name = serializers.CharField(
|
||||
source='customer.name', read_only=True)
|
||||
create_by_name = serializers.CharField(
|
||||
source='create_by.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Contract
|
||||
fields = '__all__'
|
||||
|
|
|
@ -11,6 +11,7 @@ from rest_framework import serializers
|
|||
from rest_framework.exceptions import PermissionDenied
|
||||
from django.utils import timezone
|
||||
from rest_framework.response import Response
|
||||
from .filters import OrderItemFilter
|
||||
|
||||
|
||||
# Create your views here.
|
||||
|
@ -38,7 +39,7 @@ class ContractViewSet(CustomModelViewSet):
|
|||
"""
|
||||
queryset = Contract.objects.all()
|
||||
serializer_class = ContractSerializer
|
||||
select_related_fields = ['customer']
|
||||
select_related_fields = ['customer', 'create_by']
|
||||
search_fields = ['name', 'number']
|
||||
filterset_fields = ['customer']
|
||||
|
||||
|
@ -88,5 +89,10 @@ class OrderItemViewSet(ListModelMixin, CreateModelMixin, DestroyModelMixin, Cust
|
|||
queryset = OrderItem.objects.all()
|
||||
serializer_class = OrderItemSerializer
|
||||
select_related_fields = ['order', 'material']
|
||||
filterset_fields = ['order', 'material', 'mtask']
|
||||
filterset_class = OrderItemFilter
|
||||
ordering = ['create_time']
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
if instance.order.state != Order.ORDER_CREATE:
|
||||
raise ParseError('该订单状态下不可删除')
|
||||
return super().perform_destroy(instance)
|
||||
|
|
Loading…
Reference in New Issue