change offer list serializer

This commit is contained in:
behruz-dev
2025-08-21 12:15:01 +05:00
parent d6a7dfa30c
commit f82b4f0299
3 changed files with 18 additions and 4 deletions

View File

@@ -90,12 +90,19 @@ class OfferUpdateSerializer(serializers.ModelSerializer):
class OffersSerializer(serializers.ModelSerializer):
counterparty = serializers.SerializerMethodField(method_name='get_counterparty')
class Meta:
model = Offer
fields = [
'id', 'number', 'price', 'price_type', 'phone', 'comment', 'qqs',
'id', 'number', 'price', 'price_type', 'phone', 'comment', 'qqs', 'counterparty'
]
def get_counterparty(self, obj):
return {
'id': obj.counterparty.id,
'name': obj.counterparty.name
}
class OrderListForOfferSerializer(serializers.ModelSerializer):

View File

@@ -127,7 +127,7 @@ class MultipleOrderAddSerializer(serializers.Serializer):
quantity = serializers.IntegerField()
unit_amount = serializers.IntegerField()
currency = serializers.ChoiceField(choices=[('uzs', 'uzs'), ('usd', 'usd')])
amount = serializers.UUIDField()
amount = serializers.IntegerField()
def validate(self, data):
product = Product.objects.filter(id=data['product_id']).first()

View File

@@ -30,6 +30,7 @@ class PartyCreateSerializer(serializers.Serializer):
with transaction.atomic():
resources = validated_data.pop('resources')
orders = []
total_price = 0
for resource in resources:
orders.append(Order(
product=resource['product'],
@@ -38,5 +39,11 @@ class PartyCreateSerializer(serializers.Serializer):
project=resource.get('project'),
counterparty=resource.get('counterparty'),
wherehouse=resource.get('wherehouse'),
quantity=resource.get('quantity'),
unit_amount=resource.get('unit_amount'),
currency=resource.get('currency'),
amount=resource.get('amount'),
))
total_price += resource.get('amount')
created_orders = Order.objects.bulk_create(orders)