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中的array数组模块相关使用
Jul 05 Python
python解决网站的反爬虫策略总结
Oct 26 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
Python的时间模块datetime详解
Apr 17 Python
Python微信库:itchat的用法详解
Aug 14 Python
Python中if elif else及缩进的使用简述
May 31 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
10个Python小技巧你值得拥有
Sep 29 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
python实现简单加密解密机制
Mar 19 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 Python
python实现双人五子棋(终端版)
Dec 30 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
图片懒加载插件实例分享(含解析)
2017/01/09 Javascript
jquery uploadify如何取消已上传成功文件
2017/02/08 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
Python读写Redis数据库操作示例
2014/03/18 Python
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
深入浅析python定时杀进程
2016/06/06 Python
python使用matplotlib绘制热图
2018/11/07 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
python elasticsearch环境搭建详解
2019/09/02 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
部队学习十八大感言
2014/01/11 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
护理工作个人总结
2015/03/03 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis