add
This commit is contained in:
@@ -23,7 +23,6 @@ class OrderCreateSerializer(serializers.Serializer):
|
|||||||
wherehouse_id = serializers.UUIDField()
|
wherehouse_id = serializers.UUIDField()
|
||||||
project_id = serializers.UUIDField(required=False)
|
project_id = serializers.UUIDField(required=False)
|
||||||
project_folder_id = serializers.UUIDField()
|
project_folder_id = serializers.UUIDField()
|
||||||
date = serializers.DateField()
|
|
||||||
|
|
||||||
def validate(self, data):
|
def validate(self, data):
|
||||||
try:
|
try:
|
||||||
@@ -55,24 +54,45 @@ class OrderCreateSerializer(serializers.Serializer):
|
|||||||
data['project_folder'] = project_folder
|
data['project_folder'] = project_folder
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def create(self, validated_data):
|
# def create(self, validated_data):
|
||||||
with transaction.atomic():
|
# with transaction.atomic():
|
||||||
order = Order.objects.create(
|
# order = Order.objects.create(
|
||||||
product=validated_data.get('product'),
|
# product=validated_data.get('product'),
|
||||||
unity=validated_data.get('unity'),
|
# unity=validated_data.get('unity'),
|
||||||
wherehouse=validated_data.get('wherehouse'),
|
# wherehouse=validated_data.get('wherehouse'),
|
||||||
project_folder=validated_data.get('project_folder'),
|
# project_folder=validated_data.get('project_folder'),
|
||||||
project=validated_data.get('project'),
|
# project=validated_data.get('project'),
|
||||||
quantity=validated_data.get('quantity'),
|
# quantity=validated_data.get('quantity'),
|
||||||
date=validated_data.get('date'),
|
# date=validated_data.get('date'),
|
||||||
employee=self.context.get('user'),
|
# employee=self.context.get('user'),
|
||||||
)
|
# )
|
||||||
return order
|
# return order
|
||||||
|
|
||||||
|
|
||||||
class MultipleOrderCreateSerializer(serializers.Serializer):
|
class MultipleOrderCreateSerializer(serializers.Serializer):
|
||||||
resources = serializers.ListSerializer(child=OrderCreateSerializer())
|
resources = serializers.ListSerializer(child=OrderCreateSerializer())
|
||||||
|
date = serializers.DateField()
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
with transaction.atomic():
|
||||||
|
resources = validated_data.pop('resources')
|
||||||
|
common_date = validated_data.get('date')
|
||||||
|
orders = []
|
||||||
|
|
||||||
|
for resource in resources:
|
||||||
|
orders.append(Order(
|
||||||
|
product=resource['product'],
|
||||||
|
unity=resource['unity'],
|
||||||
|
wherehouse=resource['wherehouse'],
|
||||||
|
project_folder=resource['project_folder'],
|
||||||
|
project=resource.get('project'),
|
||||||
|
quantity=resource['quantity'],
|
||||||
|
date=common_date,
|
||||||
|
employee=self.context.get('user'),
|
||||||
|
))
|
||||||
|
|
||||||
|
created_orders = Order.objects.bulk_create(orders)
|
||||||
|
return created_orders
|
||||||
|
|
||||||
class OrderListSerializer(serializers.ModelSerializer):
|
class OrderListSerializer(serializers.ModelSerializer):
|
||||||
product = ProductListSerializer()
|
product = ProductListSerializer()
|
||||||
|
|||||||
Reference in New Issue
Block a user