Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

269
Views
Conectividad de base de datos Python FastAPI

Soy nuevo en el mundo FastAPI, estoy creando una API para obtener y publicar los datos en la base de datos MySQL. Seguí algunos enlaces en Internet y desarrollé el siguiente código

DatabaseConnection.py

 from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base sql_database_url="mysql://root:root@localhost:3306/first_db" engine=create_engine(sql_database_url) sessionLocal=sessionmaker(autocommit=False,bind=engine) base=declarative_base()

ClasePrincipal.py

 from fastapi import FastAPI,Query,Depends from sqlalchemy import Column,String,Integer from typing import Optional,List from pydantic import BaseModel from sqlalchemy.orm import Session from DatabaseConnection import engine,sessionLocal,base app=FastAPI() class User(base): __tablename__="users" id=Column(Integer,primary_key=True,index=True) name=Column(String(255),unique=True,index=True) class UserSchema(BaseModel): id:int name:str class Config: orm_model=True base.metadata.create_all(bind=engine) @app.post("/create-user") def createUser(userSchema:UserSchema): user=User(id=userSchema.id,name=userSchema.name) sessionLocal().add(user) sessionLocal().commit() return user

Cuando intento ejecutar esta API usando UVICorn, estaba funcionando correctamente y la tabla también se creó correctamente, pero los datos que estoy enviando a través del cuerpo no se agregan a la tabla.
La tabla muestra que se agrega un valor nulo \

he referido enlace

Cualquier ayuda será apreciada. Gracias por adelantado

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Gracias @anjaneyulubatta505 por la ayuda.
pero necesitamos hacer los cambios a continuación para publicar datos en la base de datos

 @app.post("/create-user") def createUser(userSchema:UserSchema): user = User(id=userSchema.id, name=userSchema.name) with Session(bind=engine) as session: session.add(user) session.commit() return user

enlaces referidos

  1. Enlace1
  2. Enlace2 de sqlAlChemy
over 4 years ago · Santiago Trujillo Report

0

No está confirmando el cambio en la base de datos. Simplemente cambie su código como se muestra a continuación para que funcione.

 # ... imports and other stuff from DatabaseConnection import sessionLocal @app.post("/create-user") def createUser(userSchema:UserSchema): user = User(id=userSchema.id, name=userSchema.name) with sessionLocal() as session: session.add(user) session.commit() return user
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!