日期:2014-05-16  浏览次数:20474 次

近期做金额校验的自动化运用到Django的Model层

近期做金额校验的自动化运用到Django的Model层,把一些经过记录一下

 

好处:

数据库结构可以在一个文件中维护

省去了管理连接游标的问题

不用写一大长串的sql了

 

如何安装Python和Django不再此描述

从安装后开始说

 

第一步

创建一个Django项目用于做自动化测试

配置好数据库,我们使用的是Oracle

所以在settings里配置为oracle

 

第二步

将现有的数据库结构导入到项目中来

运行Django的命令'manage.py inspectdb'(这个命令的作用就是把数据库里的结构生成Django的model类)

运行后会在终端打印出来,保存到本地的txt文件吧

可以看到生成的每一个类对应一张表

类里的每一个变量对应表的每一个字段,类型,外键等等

 

 

 

第三步

修改导出的model类

1.排序,把外键的类放在前面

如图所示,就是BApplyInfo这个类必须在当前这个RepaymentStatistics类前面(RepaymentStatistics表存在一个外键,对应BApplyInfo这张表的apply_id)

这里说明一下,apply = models.ForeignKey(BApplyInfo, null=True, blank=True)

看这句 model类默认把这种'XXX_ID'命名方式的外键自动去掉了'_ID',如果不幸你的外键不是这样命名的,没关系加上db_column就行了(就叫他别名吧)

如图

 

2.每张表都必须有主键,这个要每张表手动添加了,比如上面那张表comp_ret_id = models.IntegerField(primary_key=True, unique=True)

需要我们自己添加'primary_key=True,'这几个字母

最后这个只存在数据库结构的全都是models的模块就编写完成了

以后如果数据库增加或者删除了表或者表的字段,在这里添加或删除类或者类里的变量就可以了哦

下满开始写真正的读取脚本

 

 

第四步

编写读取的脚本

比如我们这个网站

基本描述结构就用,用户注册表、用户信息表、订单表、购物车表、还款表等等几十张表