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使用cPickle模块序列化实例
Sep 25 Python
Python中的面向对象编程详解(上)
Apr 13 Python
python实现二维码扫码自动登录淘宝
Dec 27 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
Dec 09 Python
Python 实现字符串中指定位置插入一个字符
May 02 Python
python 读取DICOM头文件的实例
May 07 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
python 图片去噪的方法示例
Jul 09 Python
python elasticsearch环境搭建详解
Sep 02 Python
用Python画小女孩放风筝的示例
Nov 23 Python
基于pandas中expand的作用详解
Dec 17 Python
C站最全Python标准库总结,你想要的都在这里
Jul 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
drupal 代码实现URL重写
2011/05/04 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
js实现可爱的气泡特效
2020/09/05 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
python字典操作实例详解
2017/11/16 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
艺术设计专业毕业生推荐信
2014/07/08 职场文书
亲戚关系证明
2015/06/24 职场文书
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis