知识点1:字典解包在Sqlalchemy中的使用:
我们在使用数据库时,经常会出现仅仅只想修改或获取几个字段的情况,但由于是在函数中调用,则只能通过字典解包方法进行操作;
测试环境:Python3.7
基础内容在此不再赘述,示例如下:
item = self.session.query(self.emp_class).filter_by(**filter_condition).first()
理解:建立一个会话以后,我们通过filter_by 方法进行字段条件过滤,这里使用 filter_condition 这个字典进行解包:
filter_condition = {
'JOB': 'xsy',
'DEPTNO': 66,
}
即:我们只想查看数据库 工作JOB 为 xsy(销售员),且在代号为66的DEPTNO(部门)的信息,解包相当于调用
item = self.session.query(self.emp_class).filter_by(JOB='xsy', DEPTNO=66).first()
这大大提高了函数的复用率
知识点2:使用setattr方法对Sqlalchemy进行属性赋值
同样,使用setattr也能增强函数复用性,即可以修改指定的某几个属性,该方法可以望文生义,代码参考全文如下:
from sqlalchemy import MetaData, Table, create_engine