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 Mysql数据库操作 Perl操作Mysql数据库
Jan 12 Python
Python实现抓取城市的PM2.5浓度和排名
Mar 19 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
python使用正则表达式替换匹配成功的组
Nov 17 Python
Django在win10下的安装并创建工程
Nov 20 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
深入浅析Python传值与传址
Jul 10 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
Python 面向对象部分知识点小结
Mar 09 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
python从ftp获取文件并下载到本地
Dec 05 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
php读取der格式证书乱码解决方法
2015/06/22 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
文本加密解密
2006/06/23 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
Bootstrap输入框组件使用详解
2017/06/09 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
python原始套接字编程示例分享
2014/02/21 Python
python实现根据图标提取分类应用程序实例
2014/09/28 Python
python私有属性和方法实例分析
2015/01/15 Python
Python构造函数及解构函数介绍
2015/02/26 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
物业管理求职自荐信
2013/09/25 职场文书
总经理人事任命书
2014/06/05 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
结婚幸福感言
2015/08/01 职场文书
学习计划是什么
2019/04/30 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang