45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
"""Equipment maintenance serializers."""
|
|
|
|
from rest_framework import serializers
|
|
|
|
from procurement.models import MaintenanceRecord
|
|
|
|
|
|
class MaintenanceRecordSerializer(serializers.ModelSerializer):
|
|
"""Сериализатор для записей обслуживания."""
|
|
|
|
equipment_name = serializers.CharField(source="equipment.name", read_only=True)
|
|
equipment_inventory = serializers.CharField(
|
|
source="equipment.inventory_number", read_only=True
|
|
)
|
|
performed_by_name = serializers.CharField(
|
|
source="performed_by.get_full_name", read_only=True
|
|
)
|
|
type_display = serializers.CharField(source="get_type_display", read_only=True)
|
|
|
|
class Meta:
|
|
model = MaintenanceRecord
|
|
fields = [
|
|
"id",
|
|
"equipment",
|
|
"equipment_name",
|
|
"equipment_inventory",
|
|
"date",
|
|
"type",
|
|
"type_display",
|
|
"description",
|
|
"cost",
|
|
"performed_by",
|
|
"performed_by_name",
|
|
"next_maintenance_date",
|
|
"created_at",
|
|
]
|
|
read_only_fields = [
|
|
"id",
|
|
"created_at",
|
|
"equipment_name",
|
|
"equipment_inventory",
|
|
"performed_by_name",
|
|
"type_display",
|
|
]
|