У меня есть несколько моделей SA, и мне нужен какой-то трюк:
class Entry(Base):
__tablename__ = 'entry'
id = Column(Integer, primary_key=True)
title = Column(Unicode(255))
author_id = Column(Integer, ForeignKey('user.id'))
date = Column(DateTime)
content = Column(Text)
author = relationship('User', backref='entries')
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
username = Column(Unicode(255))
...
Как вы можете видеть, это очень классически, пользователи пишут записи ... Мне нужно представить некоторую статистику о них (например, showих записи в неделю / месяц ...)
Для подсчета записей я добавил column_property к модели пользователя, например, так:
class User(Base):
...
entries_count = column_property(select([func.count(Entry.id)]).\
where(Entry.author_id==id))
Это позволило мне показать, какМногие записи были написаны пользователями.Но чтобы получить некоторую статистику с учетом диапазона дат, мне нужно будет динамически адаптировать records_count для добавления критериев дат.
Итак, вопрос в том, как бы вы справились с управлением критериями дат.??Является ли column_property лучшим решением для такого рода нужд?
Спасибо заранее.