나는 sqlalchemy를 가지고있다. (실제로 Flask-sqlalchemy 따라서 모든 db. *) 나는 그들과 관련이있는 'Votes'의 평균 투표로 내 'Things'를 분류 할 수 있기를 바란다. .Sqlalchemy 하이브리드
하지만 난 그냥 수 : 투표 수는 SQLAlchemy의이 SQL에 average_vote_value @attribute 번역을 좋아하고 내가 아마 hybrids을 사용해야 찾을 실패 할 것이라는 점을 문제로 실행하는 데 100
-0의 값이 이 경우에 어떻게 이루어 졌는지를 알아 내야합니다. 아무도 도와 줄 수 있습니까?
class Thing(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
votes = db.relationship('Vote', backref='thing', lazy='dynamic')
@hybrid_property
def average_vote_value(self):
'''average of vote.values'''
values = [v.value for v in self.votes]
try:
return sum(scores)/len(values)
except ZeroDivisionError:
return 50 # the default value
average_vote_value.expression
def average_vote_value(cls):
pass ### help ###
class Vote(db.Model):
id = db.Column(db.Integer, primary_key=True)
thing_id = db.Column(db.Integer, db.ForeignKey('thing.id'))
value = db.Column(db.Float, default=50.0)