Python 如果DB表中不存在该列,是否可以让SQLAlchemy返回默认值

Python 如果DB表中不存在该列,是否可以让SQLAlchemy返回默认值,python,sqlalchemy,Python,Sqlalchemy,如果数据库表中的列不存在,我需要SQLAlchemy返回一个默认值。 如果列的值为NULL,则可以轻松完成此操作。但是,如果数据库表没有该列,我的案例需要包含一个默认值 这在炼金术中可能吗?如果不可能,是否还有其他解决方法?至少在postgres上,可能在任何其他db上,db将为不存在的列引发错误,因此您需要将查询包装在try/except中,在except子句中发送一个可接受的查询,然后以某种方式将其与default@snakecharmerb是对的,,还值得指出的是,如果您的查询使用所述列进

如果数据库表中的列不存在,我需要SQLAlchemy返回一个默认值。 如果列的值为NULL,则可以轻松完成此操作。但是,如果数据库表没有该列,我的案例需要包含一个默认值


这在炼金术中可能吗?如果不可能,是否还有其他解决方法?

至少在postgres上,可能在任何其他db上,db将为不存在的列引发错误,因此您需要将查询包装在try/except中,在except子句中发送一个可接受的查询,然后以某种方式将其与default@snakecharmerb是对的,,还值得指出的是,如果您的查询使用所述列进行过滤、联接和子查询等,那么这将变得指数级的复杂。当然,您可以提前反映表,以确定哪些列可用。但总的来说,我想我会怀疑是否有更好的架构/设计可用。例如,不使用SQL或使用JSON列。类似的(db级别,有一个删除的答案说它不再有效,但尚未确认)我刚刚在PostgreSQL 12.3下尝试了Erwin的,它仍然可以正常工作。至少在postgres上,可能在任何其他db上,db会为不存在的列发出错误,因此,您需要将查询包装在try/except中,在except子句中发送一个可接受的查询,然后以某种方式将其与default@snakecharmerb是的,同样值得指出的是,如果您的查询使用所述列进行过滤、连接、,当然,在子查询等中,您可以预先反映表,以确定哪些列可用。但总的来说,我想我会怀疑是否有更好的架构/设计可用。类似的(db级别,有一个删除的答案说它不再有效,但这还没有得到证实),我只是在PostgreSQL 12.3下试用了Erwin的,它仍然可以正常工作。