Oder wie mache ich dieses Ding arbeiten?Wie implementiere ich einen Nullkoaleszenzoperator in SQLAlchemy?
Ich habe ein Intervall Objekt:
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
Und eine Aufgabe:
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)
Fügen Sie die alle typischen Setup-Code, natürlich.
Jetzt, wenn ich versuche session.query(Task).filter(Task.hours_spent > 3).all()
I NotImplementedError: <built-in function getitem>
von der sum(i.hours_spent...
Linie zu tun bekommen.
Also schaute ich auf this part der Dokumentation und theoretisierte, dass es eine Möglichkeit gibt, dass ich etwas schreiben kann, das tun wird, was ich will. This part sieht auch wie es von Nutzen sein kann, und ich werde es zu betrachten, während hier eine Antwort abzuwarten;)
ich diesen Link denken besser funktioniert: http://progblog10.blogspot.com/2014/06/handling-null-values -in-sqlalchemy.html – Kirk
Sie haben Recht! Danke, dass du diesen Link verlinkt hast. –