[PYTHON] Je souhaite utiliser DB en utilisant l'ORM de Django à partir d'une application externe

Pour la manipulation et la référence du modèle Django,

python manage.py MY_COMMAND

Vous pouvez le faire, mais vous devez le mettre sous l'application Django en tant que / app_name / management / commands / MY_COMMAND.py, hériter deBaseCommand et faire comme suit.

MY_COMMAND.py


from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
    def handle(self, *args, **options):
        print 'hogefuga'

En faisant cela, le manage.py MY_COMMAND ci-dessus peut être utilisé comme une commande d'extension de Django. Si vous souhaitez créer quelque chose en rapport avec l'application Django, ce qui précède est très bien.

Je veux faire référence à la base de données bien que cela n'ait rien à voir avec l'application Django

Si vous utilisez la base de données de Django comme maître d'un certain type d'informations de gestion, ou si vous souhaitez utiliser les résultats stockés pour créer un lien avec un programme complètement différent, vous voulez l'appeler de l'extérieur au lieu d'étendre manage.py. ..

Étant donné que l'arrière de Django est juste SQLite ou MySQL, il est possible d'y accéder directement et de lire les informations, mais même si j'ai défini Model dans Django, je n'utilise pas cet ORM. Donc, c'est une façon d'utiliser ORM de l'extérieur.

Charger le projet en tant que bibliothèque

Vous pouvez également utiliser l'ORM de Django de l'extérieur en suivant les étapes ci-dessous.

--Spécifiez un projet Django dans sys.path --Spécifiez le projet settings.py dans la variable d'environnement de Django DJANGO_SETTINGS_MODULE --importation de modèles

ORM_test.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys

def CallORMapper():
    sys.path.append('/YOUR/DJANGO-PROJECT')
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DJANGO-PROJECT.settings")
    objects = MODEL_NAME.objects.all()
    from DJANGOAPPNAME.models import MODEL_NAME
    print objects

if __name__ == "__main__":
    CallORMapper()

référence

Recommended Posts

Je souhaite utiliser DB en utilisant l'ORM de Django à partir d'une application externe
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
Je souhaite développer des applications Android sur Android (débogage)
J'ai essayé de fonctionner à partir de Postman en utilisant Cisco Guest Shell comme serveur API
Je souhaite utiliser une bibliothèque externe avec IBM Cloud Functions
Je veux utiliser jar de python
Je veux faire un programme d'automatisation!
Conseils pour manipuler numpy.ndarray à partir de c ++ -Je veux utiliser un itérateur-
Je souhaite afficher une image sur Jupyter Notebook à l'aide d'OpenCV (mac)
Comment créer une application à partir du cloud à l'aide du framework Web Django
Je souhaite créer une application Web en utilisant React et Python flask
Je souhaite me connecter à PostgreSQL à partir de plusieurs langues
[Python] Je veux gérer 7DaysToDie depuis Discord! 1/3
Je veux visualiser les fichiers csv en utilisant Vega-Lite!
Je veux être OREMO avec setParam!
Je souhaite stocker les informations de la base de données dans la liste
Je veux faire des crises de ma tête
Je veux utiliser le solveur ceres de python
Je veux obtenir / exécuter des variables / fonctions / classes de fichiers externes à partir de Python
Je veux recommencer avec Migrate de Django
[Je veux classer les images à l'aide de Tensorflow] (2) Classifions les images
[Python] Je veux gérer 7DaysToDie depuis Discord! 2/3
Je veux créer du code C ++ à partir de code Python!
Je veux convertir une image en WebP avec sucette
Je veux voir le nom de fichier de DataLoader
Je veux détecter des images de chats d'Instagram
J'ai essayé d'obtenir une AMI en utilisant AWS Lambda
J'ai essayé de devenir un Ann Man en utilisant OpenCV
Je veux automatiser ssh en utilisant la commande expect!
J'ai essayé de créer une application OCR avec PySimpleGUI
Je souhaite copier un article en anglais à partir d'un pdf et le mettre dans Google Traduction
Je veux automatiser ssh en utilisant la commande expect! partie 2
Essayez d'exploiter un fichier Excel en utilisant Python (Pandas / XlsxWriter) ①
Ssh vers un serveur externe sous proxy http [à partir d'Ubuntu 18.04]
[Postgresql] Connexion SSH au serveur de base de données externe à partir du client
Essayez d'exploiter un fichier Excel en utilisant Python (Pandas / XlsxWriter) ②
Je veux démarrer beaucoup de processus à partir de python
Je souhaite calculer le temps d'arrêt autorisé à partir du taux de fonctionnement
[Go] Je souhaite séparer les points de terminaison en lisant / en écrivant dans la base de données
Je souhaite convertir une chaîne de caractères ISO-8601 en heure japonaise
Je veux installer le package de requirements.txt avec poésie
Je souhaite envoyer un message de Python à LINE Bot
J'ai essayé d'obtenir rapidement des données d'AS / 400 en utilisant pypyodbc
Je souhaite extraire une URL arbitraire de la chaîne de caractères de la source html avec python
Notez que j'étais accro à accéder à la base de données avec mysql.connector de Python en utilisant une application Web
Je veux résoudre SUDOKU
Je veux trouver automatiquement des pièces de haute qualité à partir des vidéos que j'ai tournées
Essayez de faire fonctionner la base de données en utilisant Peewee de ORM de Python (version août 2019)
Je souhaite créer une liste de paramètres à partir du code CloudFormation (yaml)
J'ai essayé de créer une application todo en utilisant une bouteille avec python
Lorsque vous souhaitez envoyer un objet avec des requêtes à l'aide de flask
Je veux jouer avec le groupe de sécurité par défaut d'ALB à partir de CDK
J'ai essayé d'obtenir rapidement des données d'AS / 400 en utilisant pypyodbc Préparation 1