SQLAlchemy如何设置hybrid_property的键属性

问题描述 投票:0回答:1

我正在使用hybrid_property合并或操纵列值。我想获得此hybrid_property列的“键”属性。这里是代码。

class Foo(Base):

    name = Column(String)
    address = Column(String)
    city = Column(String)

    @hybrid_property
    def full_address(self):

        return '{}, {}'.format(self.address, self.city)

    @full_address.expression
    def full_address(self):

        return func.str('{}, {}'.format(self.address, self.city))

并且在Python Shell中:

>>> fld = Foo.name
>>> fld.key
'name'
>>> fld = Foo.full_address
>>> fld.key
>>> type(fld.key)
<class 'NoneType'>

如何获取fld.key是'full_address'?

python sqlalchemy hybrid
1个回答
0
投票

最后我得到了答案

@ hybrid_propertydef full_address():如果isinstance(self,Foo):返回'{},{}'。format(self.address,self.city)其他:返回Column('full_address',String)

© www.soinside.com 2019 - 2024. All rights reserved.