En Django, ¿cómo puedo acceder a la base de datos de una aplicación en un archivo Python diferente para fines de cálculo?

Hay varias opciones diferentes:

  1. Use el comando de administración personalizado -> Escribir comandos personalizados de django-admin Esta es probablemente la mejor manera de hacerlo, ya que tendrá el entorno Django cargado para usted, y puede importar los modelos y leer datos de ellos.
  2. Cargue el entorno django:

desde django.core.wsgi import get_wsgi_application
get_wsgi_application ()

Si no desea crear un comando de administración, el código anterior cargará el entorno Django para que pueda importar y usar los modelos

  1. Esta es una opción en contra de la cual voto fuertemente, pero sigue siendo un enfoque válido en algunos casos. Puede conectarse directamente a la base de datos utilizando algo como SQLAlchemy, leer los datos de las tablas y hacer sus cálculos. La razón por la que voto en contra de este enfoque es que está demasiado separado de su código y lógica empresarial. Por ejemplo, si tiene elementos marcados como “eliminados” en la base de datos, que generalmente filtra por administrador de modelos, ahora debe hacerlo manualmente. Dentro de la vida de su aplicación, estas reglas pueden cambiar y, tarde o temprano, olvidará copiarlas de la aplicación a este archivo y comenzará a obtener resultados incorrectos sin darse cuenta.

Esto no debería ser un problema ya que se puede acceder a la base de datos desde cualquier parte del sistema, solo que un sqlite podría requerir una ruta absoluta.

De la misma manera que accede a ella en la aplicación original, puede acceder en el nuevo archivo py. Misma url, mismo nombre de usuario, misma contraseña