No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Adquiere por un año todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/año

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

0D
22H
46M
15S

Registro de datos

4/17
Recursos

Aportes 4

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Arriba poner

from model.movie import Movie as MovieModel

Con postgres funciona todo igualito, lo que cambia es “database .py” de la carpeta Config:

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

DATABASE_URL="postgresql+psycopg2://user:pasword@localhost:5432/database_name"

engine = create_engine(DATABASE_URL, echo=True)

Session = sessionmaker(bind=engine)
Base = declarative_base()

Y hay que hacer:

//pip install psycopg2

Cómo agregar datos:

  1. Iniciamos una sesión
  2. Añadimos los datos al modelo MovieModel(). Podemos hacerlo de dos formas:
    1. Añadiendo dato por dato:
    new_movie = MovieModel(title=movie.title, overview=movie.overview, ...)
    
    1. Descomprimiendo el diccionario de peliculas.
    new_movie = MovieModel(**movie.dict())
    
  3. Añadir el nuevo registro a la base de datos
  4. Actualizar y guardar los cambios.
@app.post('/movies', tags=['movies'], response_model=dict, status_code=201)
def create_movie(movie: Movie) -> dict:
   # Paso 1
    db = Session()
   # Paso 2
    new_movie = MovieModel(**movie.dict())
   # Paso 3
    db.add(new_movie)
  # Paso 4
    db.commit()
    return JSONResponse(status_code=201, content={"message": "Se ha registrado la película"})

En

@app.post('/movies', tags=['movies'], response_model=dict, status_code=201)
def create_movie(movie: Movie) -> dict:
    db = Session()
    new_movie = MovieModel(**movie.dict())
    db.add(new_movie)
    db.commit()
    return JSONResponse(status_code=201, content={"message": "Se ha registrado la película"})

el método movie.dict() esta deprecado. Se debe usar ```
movie.model_dump()