3
私はオープンソースのDjango時間追跡アプリケーションであるDjimeに取り組んでいます。統計を生成するためのより効率的な方法を考え出しています。これまでのところ、すべてのTimeSlicesを一定期間取得し、巨大なネストされたリスト/辞書の混乱の中で一緒に照合する手続き型のコードがありました。QuerySetの効率的な週統計
私がしたいのは、TimeSlicesのQuerySetを取得し、ユーザー、タスク、および/または日で照合する、より効率的なシステム(オブジェクトまたは関数)をセットアップすることです。
我々のモデルは、この(簡体字)のようになります。
class TimeSlice(models.Model):
task = models.ForeignKey(Task)
user = models.ForeignKey(User)
begin = models.DateTimeField(default=datetime.datetime.now)
duration = models.PositiveIntegerField(null=True, blank=True) # Num. of seconds
note = models.TextField(null=True, blank=True)
私はそれが素晴らしい方法であるかどうかはわかりません。私が理解しているように、各集計関数はすでにQuerySetにあるデータに対して別のクエリを引き起こします。 Pythonのフロントエンドをデータベースサーバよりも拡張する方が簡単だから、もっと多くのデータベース要求よりももっとPythonコードを持つほうがいいでしょう。 – mikl