我正在重构一个旧的Alchemy ORM项目,出于兼容性的原因,我需要保留一些旧的属性名称,并使用新名称重新映射它们。
炼金术ORM提供column_property(attribute)
函数,该函数有助于创建引用其他属性的只读新属性。
解决此问题的另一种已知方法是使用hybrid_property
:
@hybrid_property
def price(self):
return self.old_price
@price.setter
def price(self, value):
self.old_price = value
是否还有其他更简洁的方式来获取别名列的获取器和设置器。
答案 0 :(得分:1)
对于简单镜像,SQLAlchemy提供了synonym()
:
class Foo(Base):
old_price = Column(...)
price = synonym("old_price")