Files
backend/api/record/serializers.py
2025-09-22 18:43:29 -06:00

39 lines
1.4 KiB
Python

from rest_framework import serializers
from .models import Document, Fuente, DocumentType
from api.customs.models import Pedimento
class DocumentSerializer(serializers.ModelSerializer):
pedimento_numero = serializers.SerializerMethodField(read_only=True)
pedimento = serializers.PrimaryKeyRelatedField(queryset=Pedimento.objects.all())
class Meta:
model = Document
fields = ('id', 'organizacion', 'pedimento', 'pedimento_numero', 'archivo', 'document_type', 'size', 'extension', 'fuente','created_at', 'updated_at')
read_only_fields = ('id', 'size', 'extension', 'created_at', 'updated_at', 'pedimento_numero')
def get_pedimento_numero(self, obj):
if obj.pedimento:
return obj.pedimento.pedimento_app
return None
def validate_archivo(self, value):
"""Validar que se proporcione un archivo"""
if not value:
raise serializers.ValidationError("Se requiere un archivo para subir")
return value
class FuenteSerializer(serializers.ModelSerializer):
class Meta:
model = Fuente
fields = ('id', 'nombre', 'descripcion')
read_only_fields = ('id','nombre', 'descripcion')
class DocumentTypeSerializer(serializers.ModelSerializer):
class Meta:
model = DocumentType
fields = ('id', 'nombre', 'descripcion')
read_only_fields = ('id', 'nombre', 'descripcion')