通常的sqlalchemy用法:
my_prop = Column(“my_prop”,Text)
我想要不同的语义。假设一个对象有一组字段(propA,propB,propC)。我想维护一个从这些字段派生的数据库列(比方说,propA + propB + propC)。我想在更新这些字段集中的任何一个时更新列。谢谢。
答案 0 :(得分:1)
Hybrid properties提供您正在寻找的功能。它们允许您编写可在查询中使用的python属性。
如果您想拥有名称列并提供对名字和姓氏属性的访问权限,可以采用以下方式开始。
@hybrid_property
def first_name(self):
# get the first name from the name column
@first_name.setter
def first_name(self, value):
# update the name column with the first name replaced
@first_name.expression
def first_name(cls):
# return a sql expression that extracts the first name from the name column
# this is appropriate to be used in queries