前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[打造自己的监控系统] 使用Django管理数据库表

[打造自己的监控系统] 使用Django管理数据库表

作者头像
bsbforever
发布2020-08-19 14:29:29
6910
发布2020-08-19 14:29:29
举报
文章被收录于专栏:时悦的学习笔记

上节讲了如何利用Django建立自己的第一个网站

这节讲如何利用Django定义一个数据库的表并同步到MySQL中

最后讲述如何修改表结构


开发环境

操作系统:CentOS 7.3 Python版本 :2.7 Django版本: 1.10.5 操作系统用户:oracle


ORM框架

Django采用ORM模型处理数据库关系

对象-关系映射(Object-Relational Mapping,简称ORM),简单来说就是通过面向对象的方法来映射后端数据库

在后面的实例中会有介绍,它通过 类(class)的方式定义关系型数据库的表结构


首先看下整体的流程

编辑models.py文件

vim monitor/models.py

添加oraclelist类

class oraclelist(models.Model): ipaddress=models.GenericIPAddressField() username=models.CharField(max_length=100) password=models.CharField(max_length=100) port=models.CharField(max_length=50) tnsname=models.CharField(max_length=100) version=models.CharField(max_length=100) charset=models.CharField(max_length=100) ncharset=models.CharField(max_length=100) hostname=models.CharField(max_length=100) alertpath=models.CharField(max_length=300) content=models.CharField(max_length=300) monitor_type=models.IntegerField(default=1) performance_type=models.IntegerField(default=0) hit_type=models.IntegerField(default=1) def __unicode__(self): return self.tnsname class Meta: app_label='monitor'

  1. alertpath填写alert日志文件路径
  2. content 填写该数据库用途
  3. monitor_type,performance_type,hit_type 暂时不介绍,大家照写就行
  4. unicode函数中tnsname表示后台显示的时候默认显示tnsname
  5. meta 类填写monitor app名称

Django栏位(Field)和原数据库的对用请参考如下连接

https://docs.djangoproject.com/en/1.11/topics/db/models/ http://python.usyiyi.cn/translate/django_182/topics/db/models.html


同步数据库

python manage.py makemigrations python manage.py migrate


添加该表至admin后台

vim monitor/dmin.py

from monitor.models import oraclelist admin.site.register(oraclelist)


查看admin后台是否显示

填写需要运维的Oracle数据库信息


验证添加

添加完成后可以看到我们添加的信息

可以看到显示的mesarch为tnsname,为在models.py的oracelist类中unicode处定义,大家可根据需要自己修改


修改表结构

从Django前几个版本开始支持自动处理表结构的更改,如添加字段,修改字段类型等

我们只需在models.py文件中进行相应的修改即可

我们这里通过删除hit_type栏位来模拟下

可以看到已经更改完成,记得调回来

提示:从上图可以看出更改记录是记录在migrations目录下,每次变更都会新建个文件。


今天介绍了介绍了如何安装配置并创建网站,内容有点多,大家可按照步骤一步步来,我也是重新搭的环境一步步来的

下期将介绍如何利用Django建立我们的第一个页面

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档