from rest_framework import serializers
from management.models import AuditLog
from management.serializers.utente_serializer import UtenteSerializer

class AuditLogSerializer(serializers.ModelSerializer):
    target_object = serializers.SerializerMethodField()
    user = UtenteSerializer(read_only=True)

    class Meta:
        model = AuditLog
        fields = '__all__'

    def get_target_object(self, obj):
        """Restituisce una rappresentazione testuale dell'oggetto collegato"""
        if obj.content_object:
            return str(obj.content_object)
        return None