Hola, a la hora de hacer la función para que se retornen los registros de la base de datos que se creó en el minuto 57:34, utilicen este codigo por si les sale error en el GET: result = conn.execute(users.select()).fetchall() # Obtener los nombres de las columnas columns = users.columns.keys() # Convertir el resultado a una lista de diccionarios user_list = [dict(zip(columns, row)) for row in result] return user_list Espero les funcione, me ayude de ChatGPT xd
@KAMILOALCA Жыл бұрын
si me funciono gracias
@SergioYT205210 ай бұрын
Muchas gracias!!
@paulojarafuentes8 ай бұрын
estuve toda la tarde tratando de solucionar esto.. no me habia fijado en estos comentarios GRACIAS!!
@juanganan2881 Жыл бұрын
Lo bueno de leer la documentación, estaba teniendo problemas con la definición del schema cuando le pasábamos al id: Optional [str], ahora ya no es necesario para las nuevas versiones de FastApi, entonces para que este campo sea opcional solo se debe crear el schema asi: class UserSchema(BaseModel): #This is the new way to say optional id: str | None = None name: str username: str user_password: str
@GregoryVicent Жыл бұрын
Muy buena observación, voy a actualizar este video dentro de poco para que funcione correctamente y abordar estos cambios. Muchas gracias.
@OmarGonzalez-ti7bd Жыл бұрын
Gracias por la observación Juan. Estaba teniendo problemas con ese Modelo. Supongo que es por las versiones de las distintas librerías que se usan.
@samyybelen Жыл бұрын
gracias
@KAMILOALCA Жыл бұрын
@juanganan2881 me ayudo a arreglarlo tenias razon min 33:58
@SergioYT205210 ай бұрын
Muchas gracias!
@DonParceG Жыл бұрын
No se cuando vas a leer esto pero muchisimas gracias Bro. Estoy siguiendo un curso y estaba pegado con la configuracion a la base de datos me ha ido de maravilla con mysql tu explicacion magistral.......MUCHAS GRACIAS
@GregoryVicent Жыл бұрын
Paso un tiempo hasta que vi tu comentario, muchas gracias a ti por apoyar el canal y es precisamente por esto que comencé a crear contenido de este tipo, el mundo del código es sumamente interesante y gratificante pero también tiene sus dificultades requiriendo de mucho esfuerzo. Si puedo facilitar un poco el camino con lo poco que se entonces este canal ya cumplió con su objetivo. De nuevo, gracias por el apoyo :D
@samyybelen11 ай бұрын
para los que tengan problemas con el id: @user.post("/api/user") def create_user(data_user: UserSchema): new_user = data_user.dict(exclude_none=True) conn.execute(users.insert().values(new_user)) conn.commit() return "Success" class UserSchema(BaseModel): id: int | None = None name: str username: str user_password: str Esto me funciono en lo personal
@didiermejia5125 Жыл бұрын
Gran video!!! Estoy comenzando a aprender sobre apis y este video me resultó de gran utilidad
@GregoryVicent Жыл бұрын
Me alegra que el vídeo te fuera de ayuda amigo. Estamos trabajando en mucho más contenido sobre fastapi y actualizando vídeos antiguos. Muchas gracias por el apoyo :D
@joseluisramirez6198 Жыл бұрын
Listo, ahora si guarda los valores, sólo le agregué el commit después del insert de la siguiente manera. conn.execute(users.insert().values(new_user)) conn.commit() por si le sucede a otro, así se soluciona
@miguelangelmorenovillanuev4477 Жыл бұрын
¡Gracias! Mi primer registro ahora lleva tu nombre xd
@jacob_mp Жыл бұрын
Gracias.
@facundonieto1598 Жыл бұрын
gracias!!
@jorgebarrera8517 Жыл бұрын
eres un crack! no tienes idea, me estaba rompiendo la cabeza con eso, gracias por tu apoyo.
@HeectorZ Жыл бұрын
Muchas gracias! Esto me estaba matando porque no insertaba registros, hasta pensé que estaba mal mi conexión al a bd, un genio!
@leonciobarrios8 ай бұрын
Gracias por tus aportes bro! Sería excelente para "redondear" que hicieras una segunda parte de este mismo video pero incorporando el manejo de las posibles excepciones, para que los que estamos aprendiendo a como desarrollar APIs cuál es la forma correcta de manejar y notificar si ocurren excepciones. Éxitos!
@GregoryVicent7 ай бұрын
Eso seria muy buena idea, la verdad es que me gustaría volver a hacer este vídeo ahora con mas conocimiento y mejor calidad, e incluir las cosas que mencionas en una segunda entrega del mismo. Muchas agracias por la idea y los comentarios, un gran saludo hermano.
@Arkgelus4 ай бұрын
@@GregoryVicent serial genial amigo que lo hicieras muchas gracias teniendo en cuenta que ya hay algunos cambios .
@geloperx3818 Жыл бұрын
Brutal! Muchas gracias Gregory, manejo bastante back con php pero con todo esto de la inteligencia artificial y la meta data, me estoy incursionando a aprender este nuevo lenguaje, se ve bastante simple el código comparado a otros back tipo javascript/php. De mucha utilidad tu pequeño curso. Son las bases que necesitaba para comprender lo básico. Super bien explicado. Mucho éxito!
@GregoryVicent Жыл бұрын
Me alegra que el contenido del canal te sea de ayuda, es muy gratificante para mí leer este tipo de comentarios. Ciertamente Python es un lenguaje muy fácil de aprender y aplicar y junto con FastAPI los trabajos del lado del back se vuelven un gocé realizarlos. Un gran saludo y gracias por apoyar el contenido del canal :D
@joseAleon24119 ай бұрын
Actualmente, ha cambiado algunas cosas, entre ellas es que para poder registrar el usuario en la función create_user() despues de ejecutar la conexión a la base de dato he introducir los valores en la línea siguiente se debe agregar conn.commit() para que la información pueda ser registrada en la base de datos, lo mismo para con la función delete_user al momento de ejecutar la conexión en la siguiente línea se debe agregar conn.commit()... del resto fue de mucha ayuda tu tutorial muchas gracias
@JuanitoOrtega8 ай бұрын
Gracias por el aporte josé, yo me estaba partiendo la cabeza de por que no se registraban los datos en mi bd. Incluso el curso en fast sobre el cual se basa este curso, tenía el mismo problema y terminié abandonandolo y llegué a este. No entiendo por qué al tutor sí le registra los datos sin esta linea. Gracias totales.
@omarescobarcantorthechuky4644 Жыл бұрын
hola muchachos por si les llega apasar este error . ValueError: [TypeError('cannot convert dictionary update sequence element #0 to a sequence'), TypeError('vars() argument must have __dict__ attribute')] . Les tengo la solución, solo tienen que importar esta librería y cambiar la sintaxis de lo que dijo Gregory en el minuto 57:33. De esta manera quedará correctamente. from collections import namedtuple @user.get("/api/users") def get_users(): with engine.connect() as conn: result = conn.execute(users.select()).fetchall() user_list = [row._asdict() for row in result] return {"users": user_list} espero que haya ayudado.
@juanpablozabalahernandez6599 Жыл бұрын
Excelente, luché con ese error hasta que encontré tu comentario, mil gracias
@williansuarez39887 ай бұрын
Un muy buen video, y los comentarios son puros cracks, cuando puedas actualiza el video, sería excelente, saludos desde Venezuela
@GregoryVicent7 ай бұрын
Estoy pensando actualizar el vídeo, fue muy popular en su momento y fue de los primeros que hice, creo que se puede mejorar mucho y actualizar contendió. Muchas gracias por los comentarios, el apoyo es increíble y me alegra la vida
@jonathanaguinaga89892 жыл бұрын
Tomaste de base algo, pero lo mejoraste al 100%, excelente video.
@GregoryVicent2 жыл бұрын
Muchas gracias amigo, me alegra que te gustara el vídeo :D
@Predictor13 Жыл бұрын
Excelente contenido y muy claras tus explicaciones. Te animo a que continues crando contenido y particularmente de FastAPI. Hace falta contenidos en español de calidad como los tuyos!
@GregoryVicent Жыл бұрын
Esa es la idea, estuve algo ocupado estos meses pero volveremos muy pronto de forma regular, muchas gracias por los ánimos. Un gran saludo :D
@OmarGonzalez-ti7bd Жыл бұрын
Tu merecido Like y un nuevo suscriptor. Un Abrazo Gregory 😀
@GregoryVicent Жыл бұрын
Muchas gracias amigo, me alegra que ese video fuera de tu grado y te sirviera. Un gran saludo 😊
@alvarocubiella7817 Жыл бұрын
Sin palabras. Un contenido excelente. Me ayudo muchísimo. 👏👏👏 Esperare para ver como se consume la API....
@GregoryVicent Жыл бұрын
Siempre feliz de que el contenido del canal sea de ayuda. Pronto estaremos subiendo contenido sobre el consumo de nuestras API usando Docker así que atento ;)
@NeckroAzazelFackuNievas2 жыл бұрын
TREMENDO!! muchas gracias hermano!!! nuevo suscriptor!!! crack!!!
@GregoryVicent2 жыл бұрын
Mil gracias a ti, vamos haciendo crecer el canal poco a poco con cada vez más proyectos :D
@nicolasrojas73442 жыл бұрын
excelente video gregory, me ayudo muchisimo, lo unico que copie tal cual todo el codigo y el ultimo metodo del login no me funciona... Pero es lo de menos, todo lo demas un lujo!!
@GregoryVicent2 жыл бұрын
Hola Nicolas, me alegra mucho que te fuera de utilidad el video :D. Bienvenido al canal y preparado porque pronto tendremos mucho más contenido. Muchas gracias por tu comentario, la interacción es de mucha ayuda.
@pedroespinoza75952 жыл бұрын
Excelente brother, gracias por el video, me sirvió mucho esperamos que subas mas!
@GregoryVicent2 жыл бұрын
Gracias a ti por tu apoyo amigo, es seguro que se vienen muchos más proyectos interesantes ;D
@agustinquattrocchi533810 ай бұрын
Nueva sub, buen video. Mucha gracias
@GregoryVicent7 ай бұрын
Bienvenido al canal, estuvimos un tiempo en pausa pero ya volvemos con todo :D
@th3khandev2 жыл бұрын
Excelente bro.! muy buena explicacion, se entiende super bien.! 💪🔥
@GregoryVicent2 жыл бұрын
Es genial que el vídeo te gustará, es de hace unos meses y aún no tenía mucha práctica grabando. Bienvenido al canal Bro!!!
@xxz-h7i Жыл бұрын
30:20 no puede importar el modulo config.db ya intente de todo y siempre me regresaba error de modulo , importe la libreria SYS no se como resulte
@GregoryVicent Жыл бұрын
Revisaste bien la estructura de carpetas que manejas y te aseguraste que la ruta sea la adecuada? Muchas veces este simple tema me ha dado muchos dolores de cabeza. Un gran saludo
@joeljosue502 Жыл бұрын
Brother Saludos...Gracias por la explicación...Buen Aporte...(si te recomiendo Actualizarlo para hacer los ajustes con todo actualizado 2023)..
@GregoryVicent Жыл бұрын
Muchas gracias por el apoyo amigo, me alegra que el contenido fuera de tu agrado. Ciertamente tengo planeado actualizar ese video, pronto estará en el canal ;)
@elcaballerodejunini Жыл бұрын
Está muy bien explicado todo. El único detalle es que en 49:15 usas como ejemplo a un personaje cuyo nombre empieza con "M". No sea que la compañía cuyo nombre empieza con "N" te denuncie por usar a ese personaje como ejemplo sin pedirles permiso, que ya en cualquier momento empiezan a denunciar a todas las personas que se llamen Mario 😅
@GregoryVicent Жыл бұрын
Jajajajja, muy buena observación amigo, tendré mucho más cuidado de aquí en adelante para no incurrir en delitos copyright.
@YimmyEman Жыл бұрын
Hay que estar pendiente con las versiones de las librerías por ejemplo SQLAlchemy en la última versión no me permite descargar los datos. Bajé a la versión 1.4.47 y funcionó.
@facundonieto1598 Жыл бұрын
pip install sqlalchemy==1.4.47 y todo funcionó, gracias
@joseluisramirez61982 жыл бұрын
Gracias Gregory, excelente explicación, muy bueno el tema y el contenido, sería buenísimo, si puedes completar éste mismo curso, con el frontend y usando jwt, para validar por medio de token devueltos desde la api. Saludos
@GregoryVicent2 жыл бұрын
Muchas gracias por disfrutar del contenido Jose, aunque de momento tengo un poco detenido el canal pronto subiré contenido justamente sobre como conectar frontend con backend, JWS y mucho más. Espero seguir viéndonos pronto ;)
@joseluisramirez61982 жыл бұрын
@@GregoryVicent Te esperamos Bro, ése es un excelente tema, y muy necesario, para poder asumir ya un proyecto de mayor magnitud. Gracias por tu esfuerzo y tus ganas de ayudar a otros enseñando lo que sabes. DTB
@zxc111182 жыл бұрын
Muy bueno!
@GregoryVicent2 жыл бұрын
Es genial que te fuera de ayuda, bienvenido al canal
@SergioYT205210 ай бұрын
No funcionó el ".c" (minuto 1:00:58) en el renglón result = conn.execute(users.select().where(users.c.id == user_id)).first() Lo cambié por: result = conn.execute(users.select().where(users.columns["id"] == user_id)).first()
@santiagoguillen6417 Жыл бұрын
Hola Gregory Vicent Code, como estas, una pregunta porque tu no tienes que agregar un conn.commit() al metodo POST y te inserta a la base de datos?
@Arkgelus4 ай бұрын
Compita muchas gracias por tus videos ..... habra una actualizacion sobre este video que tengas ? muchas gracias
@alfredomorales30175 ай бұрын
wow, estuve haciendo algunos cambios acorde con mis necesidades y me he basado en la documentación oficial.... pero ¿Cómo hago el deploy en el servidor?
@facundonieto1598 Жыл бұрын
57:48 tira error: Internal Server Error pero funciona bien con la version de sqlalchemy 1.4: pip install sqlalchemy==1.4.47
@joeljosue502 Жыл бұрын
el problema esta en la clase id debe ser entero como en la bd asi id: Optional[int] y vicen lo define como str..con eso puedes usar SQLAlchemy==2.0.2
@joseluisramirez6198 Жыл бұрын
Hola @Gregory, copié la carpeta del proyecto y cambié de bd, pero se me está generando un iternal error server 500 al momento de insertar información en todos los modelos, qué puede ser? Gracias por tu ayuda...
@joseluisramirez6198 Жыл бұрын
Hola @GregoryVicent, necesito tu ayuda, con el error que te comenté anteriormente, al momento de insertar en bd, me dice que APIRouter no tiene el atribute insert, me puedes pasar tu correo, para enviarte más detalles del error? Necesito resolver eso para avanzar, estoy que me cambio a django Rest Framework
@andres.marquez Жыл бұрын
Hola gregory, excelente video, tengo una unica duda, afecta en algo si hago lo mismo pero con conexion a una DB de postgreSQL?
@GregoryVicent Жыл бұрын
Me alegra que el contenido del canal te guste Andrés :D En cuanto a tu duda, no recuerdo del todo la implementación exacta que hice en ese vídeo particular, sin embargo FastAPI es perfectamente integrable con PosgresSQL. Aquí te dejo el enlace a otro video donde precisamente hacemos una conexión a base de datos con FastAPI a Postgres. Espero te ayude. kzbin.info/www/bejne/joHYg5Znga6neas
@joseluisramirez6198 Жыл бұрын
Hola @Gregory Vicent, tengo un problema con proyecto, no me guarda el registro y me genera el siguiente error: APIRouter object has no attribute insert. Qué puede estar pasando, tu ayuda por favor
@michaelesquivel941710 ай бұрын
Que man tan pro
@GregoryVicent7 ай бұрын
Ese vídeo es viejito, tengo que actualizarlo, pero me alegra mucho que te sirva, un gran abrazo hermano. Seguiremos subiendo más y mejor contenido.
@joseluisramirez6198 Жыл бұрын
Lo volví a probar con python 3.11, me crea la tabla en la bd, pero no me guarda el registro en la tabla, que será? Me ayudas por favor?
@miguelangelmorenovillanuev4477 Жыл бұрын
Me pasa lo mismo
@emelyapraez9014 Жыл бұрын
Tengo 2 horas con ese inconveniente, faltaba agregar conn.commit() luego de la linea donde insertas el dato
Hola doc, ahora como lo desplegamos nuestra API ,por linux o un IIS de windows se podra.?
@sebastianrios10072 жыл бұрын
Excelente!!!
@GregoryVicent2 жыл бұрын
Gracias por ver el vídeo y comentar. Bienvenido al canal.
@sebastianchaparro9605 Жыл бұрын
Hola a todos, para evitar problemas, instalen la libreria sqlalchemy==1.4.0, el instala la mas reciente y genera conflictos
@GregoryVicent Жыл бұрын
Ohh, probare eso, muchas gracias por el aporte amigo :D
@reykmrm2 жыл бұрын
buana bro, buen video me salvases la vida esperoya conseguir trabajo 💪🏽. consulta podrías hacer un video explicando como podríamos trabajar con login, persistencia de cesión y token
@GregoryVicent2 жыл бұрын
Es fabuloso que el vídeo fuera de ayuda para ti amigo, espero consigas ese trabajo. Estuve de vacaciones por temas personales pero ya regresé y el tema que propones es muy interesante para un futuro vídeo, esperarlo con ganas :D
@JkeanOS Жыл бұрын
Hola reyk que tal te fue en el campo laboral?
@johanchaves2 жыл бұрын
Súper, que tema en los iconos usas?
@GregoryVicent2 жыл бұрын
Me alegra que disfrutaras del video amigo. El tema y los iconos del tema de vsc en ese video si mal no recuerdo vienen juntos al instalar y usar la extension Monokai Pro.
@leonardorojasquevedo93422 жыл бұрын
muy bueno
@GregoryVicent2 жыл бұрын
Muchas gracias por el apoyo :D
@joshevillacorta43272 жыл бұрын
Buena explicación, como se llama el tema de visual que usas en este video? está muy bueno
@GregoryVicent2 жыл бұрын
Es genial que el vídeo te fuera de ayuda amigo. El tema de vsc creo que se llama Monokai Pro (estoy un 84.7% seguro). Un gran saludo y bienvenido al canal.
@omarescobarcantorthechuky4644 Жыл бұрын
Si es el caso de tener tablas relacionadas como se puede hacer???
@GregoryVicent Жыл бұрын
El tema de las tablas relacionas lo voy a abordar en un video a futuro, tendríamos que buscar en la documentación como crear dicha relación entre tablas dependiendo de si es una relación uno a uno, uno a varios o varios a varios. Pronto tendremos más contenido sobre el tema en el canal ;)
@yojepaper6180 Жыл бұрын
Muy buen video bro, muchas gracias pero tengo una duda, resulta que ejecute todo y efectivamente me creo la tabla con todos los valores, incluso en el navegador me salio el msj de success pero al momento de verificar la base de datos no hay ningun registro, incluso imprimo antes la variable para ver si no esta capturando los datos pero si me los imprime en la consola, me podrias ayudar?
@yojepaper6180 Жыл бұрын
ya pude resolver, por si a alguien mas le llegase a suceder algo similar, lo que pasaba era que para realizar los cambios en la base es necesario despues de hacer el insert, realizar un commit (conn.commit()) y asi se efectua los cambios. lo que no entiendo cmo a ti si te funciono sin el commit jajajaja
@AlaGrandeLePuseCuca23 Жыл бұрын
Hola hermano muchas gracias por el video!! Muy bueno, quería consultarte, ya tengo una base de datos(con datos) y quiero agregarlos a la api que estoy haciendo, me dirías alguna forma?
@jorgefalappa8422 жыл бұрын
Hola gregory como estás?en el minuto 15:00 aprox dijiste que ibas a dejar un canal de contenidos podrías compartirlo?
@GregoryVicent2 жыл бұрын
Hola Jorge, gracias por recordarme eso, no me había dado cuenta que olvide ponerlo en la descripción del video. Un gran saludo.
@jorgefalappa8422 жыл бұрын
@@GregoryVicent Volvé que te estamos esperando 😬
@GregoryVicent2 жыл бұрын
@@jorgefalappa842 Ya publique un nuevo proyecto hoy, disculpen la tardanza pero tuve problemas técnicos este mes :P. Muchas gracias por el apoyo y la paciencia.
@luismeza60152 жыл бұрын
buen video gracias ñañito!
@GregoryVicent2 жыл бұрын
Gracias a ti por ver el video, aun quedan muchos proyectos por probar aquí ;)
@harlericho2 жыл бұрын
Excelente tuto, que tema de visual usas ??
@GregoryVicent2 жыл бұрын
Muchas gracias por ver el video hermano, siempre estoy cambiando el tema de mi vsc pero justo ahora uso uno llamando "tomorrow night blue", tiene un tono azul que me gusta mucho. ¿Cual te gusta a ti?
@harlericho2 жыл бұрын
@@GregoryVicent genial ya lo busco, gracias
@haroldareiza48368 ай бұрын
Que cursos de platzi recomiendas ? 👀👀
@GregoryVicent7 ай бұрын
Actualmente hay algunos muy buenos, todo depende de lo que busques, pero en general los de la ruta de desarrollo web y desarrollo de software son muy buenos. Actualmente platzi es una de mis principales herramientas a la hora de aprender una nueva tecnología, así que mucho animo :D
@juancamilopuentessandoval78402 жыл бұрын
Hola como estas seria bueno hacer un crud con fastAPI y un front y base de datos postgres ya que cambian configuraciones a mysql
@GregoryVicent2 жыл бұрын
Hola amigo, me alegra que vieras el vídeo, tengo planes de hacer algún proyecto donde conecte Backend con Frontend dentro de poco así que estate atento al canal ;) En cuanto a manejar bases de datos Postgres ya hay un vídeo en el canal: kzbin.info/www/bejne/joHYg5Znga6neas Espero te sea de utilidad.
@facundonieto1598 Жыл бұрын
seguir desde 59:25
@MetalDracon Жыл бұрын
No me inserta registros a la BD pero no me lanza ningún mensaje de error, crea la tabla, pero no inserta valores. ¿alguien puede darme ideas?
@marceloperezcolman9409 Жыл бұрын
Hola, prueba poner lo siguiente: conn.execute(users.insert().values(new_user)) conn.commit() no es instantánea la carga, demora un par de segundos en incorporar el registro.Saludo
@juniorncunha Жыл бұрын
puedes ayudarme? Estoy siguiendo el proyecto y me encontré con el siguiente problema al ejecutar el siguiente punto final: @user.get("/api/users", response_model=List[UserSchema]) def get_users(): with engine.connect() as conn: result = conn.execute(users.select()).fetchall() return result Erro 500 Error: Internal Server Error Response body Internal Server Error value is not a valid dict (type=type_error.dict)
@joeljosue502 Жыл бұрын
me pasaba lo mismo y logre resolverlo usando una IA porque no daba con la solucion.... el problema esta en la clase id debe ser entero como en la bd asi id: Optional[int] y vicen lo define como str... con eso se resuelve..
@williansuarez39887 ай бұрын
@@joeljosue502 ¡Gracias!
@drix3830 Жыл бұрын
En la parte donde ingresas información a la base de datos, (min 41) no estas usando "conn.commit" para confirmar el guardado de la informacion, eso porque? o lo estas ingresando por otro lado? agradezco cualquier comentario.
@juanganan2881 Жыл бұрын
es por la acutalizacion de sqlalchemy
@daniruiz6749 Жыл бұрын
me pasa algo curioso es q crea las tablas pero cuando envio datos no los guarda
@joseorozco84 Жыл бұрын
Agregá el commit asi: conn.execute(users.insert().values(new_user)) conn.commit()
@jvvm20042 жыл бұрын
hola bro. excelente tu video pero no logro ver tu repositorio en github. saludos
@GregoryVicent2 жыл бұрын
Hola Jorge, un gran saludo hermano. Me alegra mucho que el vídeo te gustará, bienvenido al canal :D Y quite el repo debido a un pequeño problema pero a partir de ahora todos los proyectos vivirán en un repositorio solo para el canal.
@JEFFMex2 жыл бұрын
Como se llama esa terminal ??
@GregoryVicent2 жыл бұрын
La terminal que uso se llama zsh, con el plugin oh-my-zsh y el tema powerlevel10k ;)