Пример (взятый из руководства Sqlalchemy): < /p>
Код: Выделить всё
Base = declarative_base()
class Interval(Base):
__tablename__ = 'interval'
id = Column(Integer, primary_key=True)
start = Column(Integer)
end = Column(Integer)
@hybrid_property
def length(self):
return self.end - self.start
Base = declarative_base()
class Interval(Base):
__tablename__ = 'interval'
id = Column(Integer, primary_key=True)
start = Column(Integer)
end = Column(Integer)
length = Column(Integer)
def __init__(self, *args, **kwargs):
kwargs['length'] = kwargs['end'] - kwargs['start']
super().__init__(*args, **kwargs)
< /code>
Однако я чувствую, что должен быть более чистый способ. Есть ли?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/638 ... sqlalchemy