account/responses page

This commit is contained in:
2025-05-26 12:15:32 +03:00
parent 50e6da10f1
commit c761c60818
8 changed files with 252 additions and 11 deletions

View File

@@ -315,4 +315,38 @@ class LeadSerializer(serializers.ModelSerializer):
try:
return super().to_internal_value(data)
except Exception as e:
raise
raise
class LeadResponseSerializer(serializers.ModelSerializer):
route = RouteSerializer(read_only=True)
moving_price = serializers.DecimalField(max_digits=10, decimal_places=2)
created_at = serializers.DateTimeField()
owner_name = serializers.SerializerMethodField()
owner_email = serializers.SerializerMethodField()
class Meta:
model = Leads
fields = [
'id',
'route',
'moving_user',
'moving_price',
'moving_date',
'comment',
'created_at',
'owner_name',
'owner_email'
]
def get_owner_name(self, obj):
owner = obj.route.owner
return f"{owner.first_name} {owner.last_name}".strip() if owner else None
def get_owner_email(self, obj):
return obj.route.owner.email if obj.route.owner else None
def to_representation(self, instance):
data = super().to_representation(instance)
if instance.created_at:
data['created_at'] = instance.created_at.strftime('%Y-%m-%dT%H:%M:%S.%f%z')
return data