table de base de données de génération inverse (b) Django ORM inspectdb
Ici, nous commençons à dire à quel point le modèle inverse MySQL pour générer du code dans django.
Avant de montrer django ORM dans le sens inverse pour générer, nous allons parler de la façon de transmettre le code généré.
génération de l'avant, se réfère à créer le fichier model.py, puis intégré dans django compilateur, telles que la création d'une table de base de données dans le mysql en ligne avec model.py.
Inverser généré, en se référant à la table de créer la base de données, puis le compilateur-django intégré génère un code de modèle.
1, prêt à travailler
Créer un projet django et application
Créer un nom de projet de django est helloworld
django-admin.py startproject helloworld
Création d'application, le test de nom
python manage.py startapp bonjour
base de données de configuration
Configuration de l'application dans INSTALLED_APPS settings.py
# Définition d'application INSTALLED_APPS = [ ' django.contrib.admin ' , ' django.contrib.auth ' , ' django.contrib.contenttypes ' , ' django.contrib.sessions ' , ' django.contrib.messages ' , ' django.contrib .staticfiles ' ' bonjour ' , ]
base de données de configuration dans settings.py
BASES = { ' par défaut ' : { ' MOTEUR ' : ' django.db.backends.mysql ' , ' NOM ' : ' big_data ' , ' USER ' : ' root ' , ' MOT DE PASSE ' : ' 1234 ' , ' HOST ' : ' 10.93.84.53 ' , 'PORT ' :' 3306 ' , } }
2, la génération de l'avant
Model.py créé dans le répertoire de l'application bonjour
à partir django.db importation modèlesclasse AlarmGroup (models.Model):
group_name = models.CharField (primary_key = True, MAX_LENGTH = 250 )
group_des = models.TextField (blanc = True, null = true)
membres = models.TextField (blanc = True, null = True)
timestamp = models.DateTimeField ()
Exécuter génération avant
python manage.py makemigrations
python manage.py migrate
Peut aller à la base de données de configuration, voir la création réussie de la table
3, le produit inverse
Maintenant, créer des tables dans la base de données
CREATE TABLE `alarm_group` ( ` group_name` varchar ( 250 ) NOT NULL , `blob group_des`, ` blob members`, ` timestamp ` datetime NOT NULL , `blob on_duty`, ` blob leader`, PRIMAIRE KEY ( `group_name`) ) MOTEUR = MyISAM DEFAULT CHARSET = UTF - 8
Ensuite, exécutez la commande, la génération de code model.py
python manage.py inspectdb
Model.py code généré de la manière suivante
classe AlarmGroup (models.Model): group_name = models.CharField (primary_key = True, MAX_LENGTH = 250 ) group_des = models.TextField (blanc = True, null = true) membres = models.TextField (blanc = True, null = True) timestamp = models.DateTimeField ()classe Meta:
géré = Faux
db_table = ' alarm_group '
Il y a le nom de table de correspondance db_table dans la base de données.