数据库表反向生成 Django ORM inspectdb

数据库表反向生成(二) Django ORM inspectdb

这里我们开始说如何在django中反向生成mysql model代码。 

我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码。

正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表。

反向生成,指的是先在数据库中create table,然后通过django内置的编译器,生成model代码。

 

1、准备工作

创建django工程以及app

创建django工程,名字是helloworld

django-admin.py startproject helloworld

创建app,名字是test

python manage.py startapp hello  

配置数据库

在settings.py的INSTALLED_APPS配置app

数据库表反向生成 Django ORM inspectdb
# Application definition  
  
INSTALLED_APPS = [  
    'django.contrib.admin',  
    'django.contrib.auth',  
    'django.contrib.contenttypes',  
    'django.contrib.sessions',  
    'django.contrib.messages',  
    'django.contrib.staticfiles',  
    'hello',  
]  
数据库表反向生成 Django ORM inspectdb

在settings.py中配置数据库

数据库表反向生成 Django ORM inspectdb
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'big_data',
        'USER': 'root',
        'PASSWORD': '1234',
        'HOST': '10.93.84.53',
        'PORT': '3306',
    }
}
数据库表反向生成 Django ORM inspectdb

 

2、正向生成

在hello app的目录下创建model.py

数据库表反向生成 Django ORM inspectdb
from django.db import models

class AlarmGroup(models.Model):
group_name = models.CharField(primary_key=True, max_length=250)
group_des = models.TextField(blank=True, null=True)
members = models.TextField(blank=True, null=True)
timestamp = models.DateTimeField()
上一篇:Jupyter command `jupyter-contrib` not found


下一篇:kali源和Pip源修改