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) 

答えて

0

は、あなたがDjangoの1.1に来ているの集約機能が必要のようですね。それは既にトランクからの最近のチェックアウトで利用可能です。

説明はhereを参照してください。

+0

私はそれが素晴らしい方法であるかどうかはわかりません。私が理解しているように、各集計関数はすでにQuerySetにあるデータに対して別のクエリを引き起こします。 Pythonのフロントエンドをデータベースサーバよりも拡張する方が簡単だから、もっと多くのデータベース要求よりももっとPythonコードを持つほうがいいでしょう。 – mikl

関連する問題