Executando verificação de segurança...
1

Python - SQL Alchemy e Fast API (Como mandar uma lista em json com uma única requisição?)

Na minha API, para enviar dados para o banco de dados, eu faço uma requisição POST assim:

 {  
    "documento":"00100450006"
    "tipo":1,
    "codigo":2
 }

Isso representa uma caluna no meu Banco de Dados.

Porém, eu quero mandar colunas(listas) em massa, algo +/- assim:

[
 {  
    "documento":"00100450006"
    "tipo":1,
    "codigo":2
 },
  {  
    "documento":"00100450006"
    "tipo":1,
    "codigo":2
 },
  {  
    "documento":"00100450006"
    "tipo":1,
    "codigo":2
  }
 ]

Meu model.py

Meu arquivo.model:

class DocumentoModel(settings.DBBaseModel):
tablename = 'documentos'

data = datetime.now().strftime('%d/%m/%Y %H:%M')

id = Column(Integer, primary_key=True, autoincrement=True)
documento = Column(String(256))
tipo = Column(Integer)
codigo = Column(Integer)
data = (String(256))
usuario_id = Column(Integer, ForeignKey('usuarios.id'))
criador = relationship(
    "UsuarioModel", back_populates='documentos', lazy='joined')

Meu schemas.py

class DocumentoSchema(BaseModel):

data = datetime.now().strftime('%d/%m/%Y %H:%M')

id: Optional[int] = None
documento: str
tipo: int
codigo: int
data: Optional[str]
usuario_id: Optional[int]

Meu endpoint POST

@router.post('/', status_code=status.HTTP_201_CREATED, response_model=DocumentoSchema)

async def post_documento(documento: DocumentoSchema, usuario_logado: UsuarioModel = Depends(get_current_user), db: AsyncSession = Depends(get_session)):
novo_documento: DocumentoModel = DocumentoModel(documento=documento.documento,
                                tipo=documento.tipo, codigo=documento.codigo,
                                data=documento.data, usuario_id=usuario_logado.id)
                               
db.add(novo_documento)
await db.commit()
return novo_documento

Como eu implemento isso, é possível?

Carregando publicação patrocinada...