schemas.py 809 Bytes
from datetime import date
from typing import Optional

import pydantic

from utils.schemas import NacionalidadSchema


class SexoSchemaBase(pydantic.BaseModel):
    nombre: str
    abreviacion: Optional[str] = None


class SexoSchema(SexoSchemaBase):
    id: int

    class Config:
        orm_mode = True


class PersonaSchema(pydantic.BaseModel):
    id: int
    apellido: str
    nombres: str
    cuil: Optional[str] = None
    documento: int
    fecha_nacimiento: date
    domicilio: Optional[str] = None
    codigo_postal: Optional[str] = None
    email: Optional[str] = None
    telefono: Optional[str] = None
    es_discapacitado: str
    vive: Optional[str] = None

    # Relaciones
    sexo: SexoSchema
    nacionalidad: Optional[NacionalidadSchema] = None

    class Config:
        orm_mode = True