Django数据库表反向生成实例解析


Posted in Python onFebruary 06, 2018

本文我们研究下如何在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

# Application definition 
 
INSTALLED_APPS = [ 
  'django.contrib.admin', 
  'django.contrib.auth', 
  'django.contrib.contenttypes', 
  'django.contrib.sessions', 
  'django.contrib.messages', 
  'django.contrib.staticfiles', 
  'hello', 
]

在settings.py中配置数据库

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'big_data',
    'USER': 'root',
    'PASSWORD': '1234',
    'HOST': '10.93.84.53',
    'PORT': '3306',
  }
}

2、正向生成

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

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()

执行命令正向生成

python manage.py makemigrations
python manage.py migrate

可以到配置的数据库中,查看创建成功的表

3、反向生成

现在数据库中创建表

CREATE TABLE `alarm_group` (
 `group_name` varchar(250) NOT NULL,
 `group_des` blob,
 `members` blob,
 `timestamp` datetime NOT NULL,
 `on_duty` blob,
 `leader` blob,
 PRIMARY KEY (`group_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

然后执行命令,生成model.py代码

python manage.py inspectdb

生成的代码model.py如下

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()

  class Meta:
    managed = False
    db_table = 'alarm_group'

总结

以上就是本文关于Django数据库表反向生成实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
详解Python文本操作相关模块
Jun 22 Python
Python2与python3中 for 循环语句基础与实例分析
Nov 20 Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 Python
Python hashlib模块用法实例分析
Jun 12 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
python实现简易动态时钟
Nov 19 Python
Django 模型类(models.py)的定义详解
Jul 19 Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
Keras使用ImageNet上预训练的模型方式
May 23 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
Python使用functools实现注解同步方法
Feb 06 #Python
django中send_mail功能实现详解
Feb 06 #Python
Python打印“菱形”星号代码方法
Feb 05 #Python
Django权限机制实现代码详解
Feb 05 #Python
Django中的Signal代码详解
Feb 05 #Python
Python实现XML文件解析的示例代码
Feb 05 #Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 #Python
You might like
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
解析coreseek for sphinx的使用
2013/06/21 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
python将ip地址转换成整数的方法
2015/03/17 Python
对python中的高效迭代器函数详解
2018/10/18 Python
Python中的取模运算方法
2018/11/10 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
东南亚排名第一的服务市场:kaodim
2019/03/28 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
土木工程求职信
2014/05/29 职场文书
迎新年主持词
2015/07/06 职场文书
标枪加油稿
2015/07/22 职场文书
创业计划书之家教中心
2019/09/25 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书