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):
|
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:
|
class Meta:
|
||||||
model = Contract
|
model = Contract
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
|
@ -11,6 +11,7 @@ from rest_framework import serializers
|
||||||
from rest_framework.exceptions import PermissionDenied
|
from rest_framework.exceptions import PermissionDenied
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
from .filters import OrderItemFilter
|
||||||
|
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
@ -38,7 +39,7 @@ class ContractViewSet(CustomModelViewSet):
|
||||||
"""
|
"""
|
||||||
queryset = Contract.objects.all()
|
queryset = Contract.objects.all()
|
||||||
serializer_class = ContractSerializer
|
serializer_class = ContractSerializer
|
||||||
select_related_fields = ['customer']
|
select_related_fields = ['customer', 'create_by']
|
||||||
search_fields = ['name', 'number']
|
search_fields = ['name', 'number']
|
||||||
filterset_fields = ['customer']
|
filterset_fields = ['customer']
|
||||||
|
|
||||||
|
@ -88,5 +89,10 @@ class OrderItemViewSet(ListModelMixin, CreateModelMixin, DestroyModelMixin, Cust
|
||||||
queryset = OrderItem.objects.all()
|
queryset = OrderItem.objects.all()
|
||||||
serializer_class = OrderItemSerializer
|
serializer_class = OrderItemSerializer
|
||||||
select_related_fields = ['order', 'material']
|
select_related_fields = ['order', 'material']
|
||||||
filterset_fields = ['order', 'material', 'mtask']
|
filterset_class = OrderItemFilter
|
||||||
ordering = ['create_time']
|
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