Artículo
· 11 ago, 2022 Lectura de 3 min

Bienvenido, Django

Gracias a las últimas mejoras al soporte de Python en IRIS y al continuo trabajo en el soporte a la DB-API de Python por parte de InterSystems, he implementado el soporte de IRIS en el proyecto Django, en el que la DB-API de Python se usa para trabajar con otras bases de datos.

Vamos a probar una sencilla aplicación en Django, que almacena sus datos en IRIS.

todo App

La aplicación está disponible en GitHub, vamos a clonarla

git clone https://github.com/caretdev/django-iris-todo
cd django-iris-todo

Y podemos crearla y empezar con Docker-compose

docker-compose up -d --build

Llevará un tiempo, cuando IRIS se inicie, y la aplicación Django se cargue los modelos y se arranque. Una vez iniciada, estará disponible en http://localhost:8000/ y deberá presentar la pantalla arriba.

Cómo funciona

Para que funcione, necesita la DB-API de Python instalada. Viene en la última versión de prueba, por lo que hace falta la versión 2022.1.0.114.0 o superior y está situada en la carpeta de la instancia <INSTALL_DIR>/dev/python/. Este fichero también se puede descargar de este repo en GitHub

pip3 install intersystems_irispython-3.2.0-py3-none-any.whl

El backend de IRIS de Django es implementado por otro proyecto, que puede ser instalado con pip, y necesitamos django por sí solo, vamos a instalarlo

pip3 install django django-iris

Otra forma de instalar los paquetes requeridos en Python es usar el archivo requirements.txt

pip3 install -r requirements.txt

El contenido de este fichero son estas 3 lineas

https://raw.githubusercontent.com/intersystems-community/iris-driver-distribution/main/intersystems_irispython-3.2.0-py3-none-any.whl
Django~=4.0.2
django-iris~=0.1.5

Vamos a conectar nuestra aplicación Django a IRIS. Abrimos el fichero todoApp/settings.py

DATABASES define la configuración de las conexiones a la base de datos

ENGINE debería ser django_IRIS

NAME debería apuntar a Namespace en IRIS

Solo cámbialo a algo, donde puede conectar. Por ejemplo

DATABASES = {
    'default': {
        'ENGINE': 'django_iris',
        'NAME': 'DJANGOTODO',
        'HOST': 'localhost',
        'PORT': 1972,
        'USER': '_SYSTEM',
        'PASSWORD': 'SYS',
    }
}

Y empieza la migración

python3 manage.py migrate

No hay errores, todas las tablas en el lado de IRIS se crearon

Y estamos listos para empezar nuestra aplicación

python3 manage.py runserver

Django viene con un panel de administración

python3 manage.py createsuperuser

Está disponible en http://localhost:8000/admin/

Cómo se almacenó en IRIS

Todavía hay trabajo por hacer para tener un soporte completo. Hay trabajo en marcha con el driver DB-API de Python desde InterSystems, y también con este proyecto django-iris.

Tened en cuenta que puede que no funcione tan bien en la versión Community Edition, por la forma como Django se conecta a la base de datos, puede que use todas las lincencias muy rápido.

Comentarios (0)1
Inicie sesión o regístrese para continuar