或者我該如何讓這件事情起作用?如何在SQLAlchemy中實現空合併運算符?
我有一個時間間隔對象:
class Interval(Base):
__tablename__ = 'intervals'
id = Column(Integer, primary_key=True)
start = Column(DateTime)
end = Column(DateTime, nullable=True)
task_id = Column(Integer, ForeignKey('tasks.id'))
@hybrid_property #used to just be @property
def hours_spent(self):
end = self.end or datetime.datetime.now()
return (end-start).total_seconds()/60/60
和任務:
class Task(Base):
__tablename__ = 'tasks'
id = Column(Integer, primary_key=True)
title = Column(String)
intervals = relationship("Interval", backref="task")
@hybrid_property # Also used to be just @property
def hours_spent(self):
return sum(i.hours_spent for i in self.intervals)
添加所有典型的設置代碼,當然。
現在,當我嘗試做session.query(Task).filter(Task.hours_spent > 3).all()
我得到NotImplementedError: <built-in function getitem>
從sum(i.hours_spent...
線。
所以我在尋找this part的文檔,並推論說可能有某種方法可以寫出我想要的東西。 This part也看起來像它可能是有用的,我會在這裏等待一個答案時看它;)
我覺得這個鏈接會更好地工作:http://progblog10.blogspot.com/2014/06/handling-null-values -in-sqlalchemy.html – Kirk
你是對的!感謝您修復該鏈接。 –