更新SQLAlchemy行时的验证

时间:2016-06-01 18:54:07

标签: python sqlalchemy

我已成功更新SQLAlchemy驱动的数据库中的行(使用How to update SQLAlchemy row entry?的答案)。在我开心之前,我想做一些验证。具体来说,我想

  • 确保此表格中存在该字段(我想我可以使用hasattr执行此操作)

  • 确保该字段不是主键

1 个答案:

答案 0 :(得分:0)

根据ORM类定义提取列列表:

from sqlalchemy import inspect
mapper = inspect(your_orm_class)
columns = [i.key for i in mapper.attrs]

根据ORM类定义提取主键名称:

from sqlalchemy.orm import class_mapper
pk = class_mapper(your_orm_class).primary_key[0].name

然后修改验证函数/类以检查这些值的输入。