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生成指定尺寸缩略图的示例
May 07 Python
Python使用函数默认值实现函数静态变量的方法
Aug 18 Python
Python编写生成验证码的脚本的教程
May 04 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
快速入手Python字符编码
Aug 03 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
python实现批量解析邮件并下载附件
Jun 19 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
python二进制文件的转译详解
Jul 03 Python
Python中一个for循环循环多个变量的示例
Jul 16 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 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关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
php递归实现无限分类的方法
2015/07/28 PHP
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
初识Node.js
2014/09/03 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
Python元组知识点总结
2019/02/18 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
Yahoo-PHP面试题3
2012/01/14 面试题
元旦联欢会感言
2014/03/04 职场文书
热情服务标语
2014/10/07 职场文书
外贸采购员岗位职责
2015/04/03 职场文书
金榜题名主持词
2015/07/02 职场文书
消防演习感想
2015/08/10 职场文书
人生感悟经典句子
2019/08/20 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android