mock_A.return_value
будет издеваться A()
, но вы не звоните A
, а получаете доступ к его атрибуту A.query
et c., Поэтому
this_user = mock_A.query.first.return_value
В сторону использование логического выражения в операторе if и возврат True
или False
немного избыточны. Просто используйте само логическое выражение:
class A(Base):
id = Column(Integer, primary_key=True, autoincrement=True)
age = Column(Integer)
@hybrid_property
def is_adult(self):
return self.age > 18
Это дает дополнительное преимущество работы непосредственно в контексте запроса, поэтому вам не нужно указывать @is_adult.expression
отдельно.