Albo jak mogę to sprawić?Jak zaimplementować operator koalescencji zerowej w SQLAlchemy?
mam odstępie obiektu:
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
a zadanie:
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)
dodać wszystkie typowe kod konfiguracji, oczywiście.
Teraz, gdy próbuję zrobić session.query(Task).filter(Task.hours_spent > 3).all()
mam NotImplementedError: <built-in function getitem>
z linii sum(i.hours_spent...
.
Więc patrzyłem na this part dokumentacji i teorię, że może być jakiś sposób, że mogę napisać coś, co zrobi to, co chcę. This part również wygląda na to, że może być przydatny, a ja będę na niego czekał, czekając na odpowiedź tutaj;)
Myślę ten link będzie działać lepiej: http://progblog10.blogspot.com/2014/06/handling-null-values -in-sqlalchemy.html – Kirk
Masz rację! Dzięki za naprawienie tego linku. –