41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
|
|
|
|
from rest_framework import serializers
|
|
from .models import Vucem, CredencialesImportador
|
|
|
|
|
|
|
|
|
|
class VucemSerializer(serializers.ModelSerializer):
|
|
importadores = serializers.SerializerMethodField()
|
|
|
|
class Meta:
|
|
model = Vucem
|
|
fields = '__all__'
|
|
read_only_fields = ('created_at', 'updated_at', 'organizacion', 'created_by', 'updated_by')
|
|
|
|
def get_importadores(self, obj):
|
|
# Importar aquí para evitar importación circular
|
|
from api.customs.serializers import ImportadorSerializer
|
|
return [ImportadorSerializer(cred.rfc).data for cred in obj.usuarios_importadores.all()]
|
|
|
|
|
|
class CredencialesImportadorSimpleSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = CredencialesImportador
|
|
fields = ('__all__')
|
|
read_only_fields = ('updated_at',)
|
|
|
|
|
|
class CredencialesImportadorSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = CredencialesImportador
|
|
fields = '__all__'
|
|
read_only_fields = ('updated_at',)
|
|
|
|
def to_representation(self, instance):
|
|
representation = super().to_representation(instance)
|
|
representation['vucem'] = VucemSerializer(instance.vucem).data
|
|
return representation
|