43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
"""Procurement budget serializers."""
|
|
|
|
from rest_framework import serializers
|
|
|
|
from procurement.models import Budget
|
|
|
|
|
|
class BudgetSerializer(serializers.ModelSerializer):
|
|
"""Сериализатор бюджета отдела."""
|
|
|
|
department_name = serializers.CharField(source="department.name", read_only=True)
|
|
remaining_amount = serializers.DecimalField(
|
|
max_digits=14, decimal_places=2, read_only=True
|
|
)
|
|
reserved_amount = serializers.DecimalField(
|
|
max_digits=14, decimal_places=2, read_only=True
|
|
)
|
|
available_amount = serializers.DecimalField(
|
|
max_digits=14, decimal_places=2, read_only=True
|
|
)
|
|
utilization_percentage = serializers.DecimalField(
|
|
max_digits=5, decimal_places=2, read_only=True
|
|
)
|
|
|
|
class Meta:
|
|
model = Budget
|
|
fields = [
|
|
"id",
|
|
"department",
|
|
"department_name",
|
|
"year",
|
|
"quarter",
|
|
"allocated_amount",
|
|
"spent_amount",
|
|
"remaining_amount",
|
|
"reserved_amount",
|
|
"available_amount",
|
|
"utilization_percentage",
|
|
"created_at",
|
|
"updated_at",
|
|
]
|
|
read_only_fields = fields
|