python的数据库模型框架sqlalchemy中使用的部分技巧

python-sqlalchemy针对数据库中null和空值的筛选

使用XX.isnot(None)只能筛选出是null的值,如果这个值有可能是空和null,那么需要将null转为空,然后再判断筛选

1
2
3
query_hosts = db.session.query(HostList)\
.filter(func.coalesce(HostList.project_code, '') == '',
func.coalesce(HostList.module_code, '') == '',

sqlalchemy的模型中的默认值

在model文件中,定义字段为created = Column(db.DateTime, nullable=False, default=datetime.now),那么当值为空的时候,为默认添加当前时间的值,可以不需要继续在数据库中针对该字段来设置默认值了