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?