Controle de faturas e bloqueio de usuários para o sistema de lojas web
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

73 lines
2.0 KiB

from controle.models import Cidade, Email, Endereco, Estado, Notas, Pessoa, Telefone
from rest_framework import serializers
# Serializers define the API representation.
class EstadoSerializer(serializers.ModelSerializer):
class Meta:
model = Estado
fields = '__all__'
class CidadeSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.IntegerField()
url = serializers.HyperlinkedIdentityField(
view_name="controle:cidade-detail")
estado = serializers.HyperlinkedRelatedField(
read_only=True,
view_name="controle:estado-detail")
label = serializers.ReadOnlyField()
class Meta:
model = Cidade
fields = '__all__'
class NestedEnderecosSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(required=False)
class Meta:
model = Endereco
fields = '__all__'
read_only_fields = ['pessoa']
class NestedTelefonesSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(required=False)
class Meta:
model = Telefone
fields = '__all__'
read_only_fields = ['pessoa']
class NestedEmailsSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(required=False)
class Meta:
model = Email
fields = '__all__'
read_only_fields = ['pessoa']
class NestedNotasSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(required=False)
class Meta:
model = Notas
fields = '__all__'
read_only_fields = ['pessoa']
class PessoaSerializer(serializers.ModelSerializer):
enderecos = NestedEnderecosSerializer(many=True, required=False)
telefones = NestedTelefonesSerializer(many=True, required=False)
emails = NestedEmailsSerializer(many=True, required=False)
notas = NestedNotasSerializer(many=True, required=False)
label = serializers.ReadOnlyField()
class Meta:
model = Pessoa
fields = '__all__'