私は似たような質問をいくつか見つけましたが、大部分は日付が付けられているか、あまりにも冗長すぎて参考になりません。2つ(またはそれ以上の)フィールドの合計でDjangoクエリーセットを注文する
私はこのようなモデルがあります:
class Breakfast(models.Model):
count_eggs = models.IntegerField()
count_bacon = models.IntegerField()
had_toast = models.BooleanField()
を今、RESTfulなAPIを構築するには、私がモデルに恒久的にこれを格納することなく、count_eggs + count_bacon
の合計により、朝食のオブジェクトをソートする機能を必要としています。
Breakfast.objects.extra(
select={'total_food':'count_eggs + count_bacon'},
order_by=('total_food',)
)
これは、多くの、しかしDjango docs appear to dissuade this solutionのために働くようだ:
現在、人気の質問の多くは、このような何かを示唆しています。ですから、1.10+の世界では、このタイプのフィルタをDjangoの2つ(またはそれ以上)のフィールドの合計で行うにはどうすればよいでしょうか
'order_by'に追加した方が簡単かもしれませんが、もっと良い答えがあると思います。 – cwallenpoole