Sé un Pythonista: Recibe trucos Python y accede a nuestro espacio de Slack

Ejercicio #3: Integrar la aplicación Kwranking con una base de datos

Share on facebook
Share on twitter
Share on linkedin

En este ejercicio nos vamos a centrar en una parte importante de muchas aplicaciones: la base de datos.

Vamos a integrar la aplicación Kwranking con una base de datos sqlite utilizando para ello el ORM SQLAlchemy.

Básicamente, este ejercicio consiste en importar las palabras clave a utilizar por el programa (en la función carga_keywords()) y guardarlas en una tabla de la base de datos.

Requisitos

  • Hay que utilizar el ORM de SQLAlchemy y sus modelos. No se permiten consultas nativas a la base de datos.
  • Crea un fichero llamado db.py que tenga la configuración de acceso a la base de datos (keywords.sqlite). En este fichero se debe definir lo siguiente:
    • Una variable session con el objeto de la sesión de base de datos,Session().
    • Una variable Base, con el modelo base a utilizar obtenido a través de la función declarative_base().
  • Crea un fichero llamado models.py. En este fichero definirás los modelos de base de datos de tu aplicación. En concreto, define un modelo llamado Keyword que herede de db.Base. Las características de este modelo son las siguientes:
    • Tendrá tres campos:
      • id, un Integer. Además, será la clave primaria.
      • keywords, un String para almacenar una palabra clave. Es único y no permite nulos.
      • posicion, un Integer con la posición de las keywords. Admite valores nulos.
    • Define un método save() para guardar una palabra clave en la base de datos. Si la palabra o palabras clave ya existen, no se deben de volver a guardar.
    • Define un método estático get_all() que devuelva todas las palabras clave de la base de datos.
  • Redefine la función carga_keywords() para que guarde en la base de datos cada una de las palabras clave que lea del fichero. Finalmente, esta función debe devolver la lista de palabras clave almacenadas en la base de datos.
  • Carga las palabras clave de la base de datos al comienzo de la ejecución del programa. Asígnalas a la variable keywords que ya tenías.
  • Crea las tablas de la base de datos al arrancar la aplicación automáticamente.

Librerías a utilizar

Debes instalar la librería sqlalchemy.

Ayuda

Como ayuda, puedes consultar los siguientes artículos:

Solución

Solución al Ejercicio #3

Si te ha resultado útil, compártelo con tus amigos 🤗

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Sé un Pythonista: Recibe trucos Python y accede a nuestro espacio de Slack

También te puede interesar

* Te informo de que los datos de carácter personal que proporciones al comentar serán tratados por Juan José Lozano Gómez como responsable de esta web. La Finalidad es moderar los comentarios. La Legitimación es gracias a tu consentimiento. Destinatarios: tus datos se encuentran alojados en Disqus (disqus.com), mi sistema de comentarios, que está acogido al acuerdo de seguridad EU-US Privacy. Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a juanjo@j2logo.com. Encontrarás más información en la POLÍTICA DE PRIVACIDAD.

Sobre j2logo

Quiero ayudarte a que seas mejor programador/a, pero no uno cualquiera, sino uno de los top.

Últimos posts

¿Quieres ser un auténtico Pythonista? 🐍

📩 Recibe de vez en cuando trucos, scripts y tutoriales Python en español para dominar el lenguaje. No es SPAM. Date de baja cuando quieras

🥇 Accede a nuestra comunidad privada de Slack: Pythonistas-es

* Al enviar el formulario confirmas que aceptas la POLITICA DE PRIVACIDAD

Pythonistas-es

SÉ UN AUTÉNTICO PYTHONISTA

📩 Recibe trucos, scripts y tutoriales Python

🥇 Accede a nuestra comunidad privada de Slack