python做数据库管理系统_4.使用Django管理数据库表

使用Django管理数据库表

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

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

最后讲述如何修改表结构

开发环境

操作系统:CentOS 7.3

Python版本 :2.7

Django版本: 1.10.5

操作系统用户:oracle

ORM框架

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

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

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

首先看下整体的流程

10.png

编辑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'

alertpath填写alert日志文件路径

content 填写该数据库用途

monitor_type,performance_type,hit_type 暂时不介绍,大家照写就行

unicode函数中tnsname表示后台显示的时候默认显示tnsname,Python3用str关键字

meta 类填写monitor app名称

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

同步数据库

python manage.py makemigrations

python manage.py migrate

11.png

添加该表至admin后台

vim monitor/admin.py

from monitor.models import oraclelist

admin.site.register(oraclelist)

查看admin后台是否显示

12.png

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

13.png

验证添加

14.png

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

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

修改表结构

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

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

15.png

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

16.png

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

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

源码地址

源码请查看我的GitHub主页

今天介绍了介绍了如何利用Djnago创建一个MySQL的表以及如何修改它。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值