DUPLICATE: order_by()でDjangoカスタムモデルメソッドプロパティを使用する
私には2つのモデルがあります。1つは投稿を保存し、もう1つはForeignKeyフィールドを使用して関連するそれらの投稿に対する投票を保存します。ユーザーと投票が行われた日時を追跡する必要があるため、各投票は個別のレコードとして保存されます。
Django 1.1集計合計関数を使用して、すべての投票を集計するヘルパー関数を作成しました。
class Post(models.Model):
...some fields...
def tally(self):
return self.vote_set.all().aggregate(Sum('value'))['value__sum'] or 0
class Vote(models.Model):
post = models.ForeignKey(Post)
value = models.IntegerField()
...some fields...
私が行う必要のある1つのクエリorder_by
は、集計の1つを実行する必要があります。でも:
Post.objects.all().order_by('tally')
次のテンプレートエラーが発生します。
レンダリング中に例外が発生しました:キーワード「tally」をフィールドに解決できません。選択肢は次のとおりです。date_created、description、id、is_active、name、related、slug、user、vote
order_by()
関数に呼び出し可能オブジェクトを取得させる方法はありますか?