order_by()
(docs)あなたが引数を入れる順序を尊重する
EDIT
これは、何が必要な種類のファンキーであるが、このような何かをやってはあなたを与える必要があります。
このように並べ替えることができます:
funky_queryset = MyModel.objects.filter(name="john")
funky_queryset |= MyModel.objects.filter(other_condition)
...
funky_queryset
は、それ以上の項目を追加する順序になります。 |=
演算子を使用すると、クエリーセットを結合できます。
もう一つの例:あなたはソートしたい、このクエリセットを持っているよう
はふり:
[<James Bond >, <Bart Simpson >, <John Jacob >, <John Stamos >, <Max Payne >]
はconditionB
あなたはname="max"
を持つようにしたいということです、のもconditionA
あなたはname="john"
を持つようにしたいということであるとしましょう、conditionCはあなたが他のすべてを望むということです。あなたはこのようにそれを行うことができます。
from django.db.models import Q
sorted_queryset = MyModel.objects.filter(name="john") # conditionA
sorted_queryset |= MyModel.object.filter(name="max") # conditionB
sorted_queryset |= MyModel.objects.exclude(Q(name="john") | Q(name="max")) # conditionC
結果は私の条件は `名= 'john'`ようなものであれば、それはうまくいく[<John Jacob>, <John Stamos>, <Max Payne>, <Bart Simpson>, <James Bond>]
は、ありがとうございだろうか? –
それには、おそらくフィルターを使用したいと思うでしょう。アルファベット順に名前を付けることができます。 – denvaar
'name = john'のオブジェクトが最初に表示され、残りの部分が来るようにソートされたリストにする必要があります。\ –