@property上的Python sqlalchemy和

@property上的Python sqlalchemy和,python,sqlalchemy,Python,Sqlalchemy,我有以下多对多关系: class UserSupportProject(Base): __tablename__ = 'usersupportprojects' user_id_supports = Column(Integer, ForeignKey('users.id'), primary_key=True) user_id_project = Column(Integer, ForeignKey('users.id'), primary_key=True)

我有以下多对多关系:

class UserSupportProject(Base):
    __tablename__ = 'usersupportprojects'
    user_id_supports = Column(Integer, ForeignKey('users.id'), primary_key=True)
    user_id_project = Column(Integer, ForeignKey('users.id'), primary_key=True)
    project_tier = Column(Integer, nullable=False)
    date_added = Column(DateTime, nullable=False)
    review = Column(Text, nullable=True)

    @property
    def get_project_tier(self):
        return object_session(self).query(ProjectTier).filter(ProjectTier.id == self.project_tier).first()
现在,我需要返回某个用户的
project\u tier
值的总和
user\u id\u project

project\u tier
仅供参考。它是
ID

我可以使用属性
get\u project\u tier
获取数据,例如
tier\u worth

例如,在这里我可以看到用户的所有号码:

star = User.query.filter_by(id=star_id).first()

for tier in star.user_gets_support:
    print (tier.get_project_tier.tier_worth)
我测试了我的求和代码是否有效,它是否有效。我可以计算
项目层的总和

UserSupportProject.query.with_entities(func.sum(UserSupportProject.project_tier)).filter(UserSupportProject.user_id_project == star.id).scalar()
但它不适用于实际的
层价值

UserSupportProject.query.with_entities(func.sum(UserSupportProject.get_project_tier.tier_worth)).filter(UserSupportProject.user_id_project == star.id).scalar()
它给出的错误是:

AttributeError: 'property' object has no attribute 'tier_worth'

属性仅适用于实例。您必须实例化类UserSupportProject或将属性更改为函数。

属性仅适用于实例,您尝试从类访问它为什么不同时创建
project\u层
a
ForeignKey
?另外,您的
user\u id\u supports
user\u id\u project
字段看起来有误,可能需要再次检查文档。
user\u id\u supports
user\u id\u project
有什么问题?