from rest_framework import serializers from django.forms.models import model_to_dict from django.core.serializers import serialize from . import models class AplicacionSerializer(serializers.ModelSerializer): class Meta: model = models.Aplicacion fields = '__all__' class TipoDispositivoSerializer(serializers.ModelSerializer): class Meta: model = models.TipoDispositivo fields = '__all__' class TipoParaderoSerializer(serializers.ModelSerializer): class Meta: model = models.TipoParadero fields = '__all__' class TipoTransporteSerializer(serializers.ModelSerializer): class Meta: model = models.TipoTransporte fields = '__all__' class TipoVehiculoSerializer(serializers.ModelSerializer): class Meta: model = models.TipoVehiculo fields = '__all__' class TipoTratamientoPersonaSerializer(serializers.ModelSerializer): class Meta: model = models.TipoTratamientoPersona fields = '__all__' class PersonaSerializer(serializers.ModelSerializer): class Meta: model = models.Persona fields = '__all__' class ComunaSerializer(serializers.ModelSerializer): class Meta: model = models.Comuna fields = '__all__' class RegionSerializer(serializers.ModelSerializer): class Meta: model = models.Region fields = '__all__' class ParaderoSerializer(serializers.ModelSerializer): class Meta: model = models.Paradero fields = '__all__' class UsuarioSerializer(serializers.ModelSerializer): # muestro informacion de persona en un objeto aparte persona = serializers.SerializerMethodField() class Meta: model = models.Usuario fields = '__all__' read_only_fields = ['login'] def get_persona(self, row): return model_to_dict(row.rut) def to_representation(self, instance): representation = super().to_representation(instance) # Elimina el campo que deseas después de la actualización if 'clave' in representation: del representation['clave'] return representation class AuthSerializer(serializers.Serializer): username = serializers.CharField(required=True) password = serializers.CharField(required=True, style={'input_type':'password'})