Ejercicio de programación con Flask: Reto asociaciones

Código
Puntuación
0h 5m

Practica creando modelos SQLAlchemy para una relación many-to-one entre autor y libro con carga lazy y backref en Python.

Crea dos modelos de SQLAlchemy que representen una relación many-to-one entre Autor y Libro, donde un autor puede tener múltiples libros, pero cada libro pertenece a un solo autor.

Debes definir:

  1. Un modelo Autor con los siguientes campos:
  • id: clave primaria de tipo entero
  • nombre: cadena de texto de máximo 100 caracteres, no nulo
  • email: cadena de texto de máximo 120 caracteres, único y no nulo
  1. Un modelo Libro con los siguientes campos:
  • id: clave primaria de tipo entero
  • titulo: cadena de texto de máximo 200 caracteres, no nulo
  • precio: decimal con 2 decimales, no nulo
  • autor_id: clave foránea que referencia al id del autor, no nulo
  1. Configura la relación bidireccional:
  • En el modelo Autor, añade un atributo libros que permita acceder a todos los libros del autor
  • Utiliza backref para crear automáticamente el atributo autor en el modelo Libro
  • Configura lazy=True para carga bajo demanda

Comienza importando SQLAlchemy desde flask_sqlalchemy y crea una instancia llamada db. Luego define los dos modelos con sus respectivos nombres de tabla: autores y libros.

Empezar ejercicio de programación

Todos los ejercicios de programación de Flask

Evalúa tus conocimientos con ejercicios de programación en Flask de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tutorial para resolver este ejercicio de programación

Flask

Flask

Asociaciones de modelos

ORM

Otros tutoriales de programación con Flask

Introducción A Flask

Flask

Introducción Y Entorno

Instalación Y Configuración Flask Con Venv

Flask

Introducción Y Entorno

Rutas Endpoints Rest Get

Flask

Api Rest

Respuestas Con Esquemas Flask Marshmallow

Flask

Api Rest

Rutas Endpoints Rest Post, Put Y Delete

Flask

Api Rest

Manejo De Errores Y Códigos De Estado Http

Flask

Api Rest

Autenticación Jwt Con Flask-jwt-extended

Flask

Api Rest

Manejo De Errores Y Excepciones

Flask

Api Rest

Métodos Put Y Patch

Flask

Api Rest

Serialización Pydantic

Flask

Api Rest

Métodos Delete

Flask

Api Rest

Métodos Post

Flask

Api Rest

Cabeceras Http

Flask

Api Rest

Parámetros Y Query Strings

Flask

Api Rest

Mysql Con Sqlalchemy En Flask

Flask

Orm

Tipos De Datos En Modelos

Flask

Orm

Operaciones Crud Y Consultas

Flask

Orm

Migraciones Con Flask-migrate

Flask

Orm

Validaciones Y Constraints

Flask

Orm

Consultas Con Joins Y Filtros

Flask

Orm

Introducción A Sqlalchemy

Flask

Orm

Flask-migrate

Flask

Orm

Controlador Mvc Con Métodos Get En Flask

Flask

Mvc

Sintaxis De Plantillas Jinja 2 En Flask

Flask

Mvc

Controlador Mvc Con Métodos Post En Flask

Flask

Mvc

Inclusión De Archivos Estáticos En Jinja

Flask

Mvc

Validación De Formularios Con Wtforms

Flask

Mvc

Subir Archivos En Formularios Jinja En Flask

Flask

Mvc

Autenticación Con Flask-login

Flask

Mvc

Autorización Con Flask-principal

Flask

Mvc

Blueprints

Flask

Mvc

Flash Messages

Flask

Mvc

Sintaxis Jinja2

Flask

Mvc

Introducción Al Patrón Mvc

Flask

Mvc

Flask-cors

Flask

Seguridad

Variables De Entorno

Flask

Seguridad

Autorización Básica Con Decoradores

Flask

Seguridad

Hash Con Bcrypt

Flask

Seguridad

Flask-jwt-extended

Flask

Seguridad

Flask-login

Flask

Seguridad

Github Actions Workflow Para Flask

Flask

Ci

Integrar Openai Api En Flask Api Rest

Flask

Aplicación Con Ia

Aplicación Flask Api Rest

Flask

Aplicación Con Ia

Aplicación Flask Mvc

Flask

Aplicación Con Ia