使用sqlalchemy声明性属性设置不存在的属性时如何引发错误

时间:2019-03-05 22:47:12

标签: python sqlalchemy

为简便起见,我只给出一个示例表,而没有其他配置。

class Widget(Base):
    id = Column(Integer, primary_key=True)


#Setup/config logic goes here.
# assume session object exists.

thing = Widget()
thing.foo = "bar"
#ideally throw atleast a warning that `foo` doesn't exist
session.add(thing)

Sqlalchemy将忽略将foo分配给记录实例,我可以理解为什么,但是有某种方式可以捕获这些分配吗?

我是否需要添加自己的__init__和某种 getattr 来对类实施冻结/锁定逻辑,或者sqlalchemy是否提供了类似的东西?

我在我的代码中发现了一个错字,我打算将其分配给net_amount字段,而不是分配给不存在的met_amount,并且想以某种方式捕获这些错误,然后再将它们找出来控制。

0 个答案:

没有答案