web-dev-qa-db-ja.com

django order_byクエリ、昇順および降順

Djangoで設定したクエリを日付で降順に並べ替えるにはどうすればいいですか?

Reserved.objects.all().filter(client=client_id).order_by('check_in')

Check_inの日付で予約済みのすべてを降順から除外したいだけです。

219
gadss
Reserved.objects.filter(client=client_id).order_by('-check_in')

-の前のcheck_inに注目してください。

Djangoのドキュメント

442
Keith
Reserved.objects.filter(client=client_id).order_by('-check_in')

「check_in」の前にあるハイフン「 - 」は降順を示します。昇順が含まれています。

Filter()の前にall()を追加する必要はありません。それでも機能しますが、ルートのQuerySetからすべてのオブジェクトを取得したい場合はall()を追加するだけです。

これについての詳細はこちら: https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters

58
Leonardo.Z

以下の命令も使用できます。

Reserved.objects.all().filter(client=client_id).order_by('check_in').reverse()
13
Patrick

昇順の場合

Reserved.objects.filter(client=client_id).order_by('check_in')

降順

1.  Reserved.objects.filter(client=client_id).order_by('-check_in')

または

2.  Reserved.objects.filter(client=client_id).order_by('check_in')[::-1]
12

.all()を削除して動作します。

Reserved.objects.filter(client=client_id).order_by('-check_in')
11
PaVen Nguyen

- を追加すると、降順に並べられます。モデルのメタにデフォルトの順序を追加して設定することもできます。これは、クエリを実行するときにMyModel.objects.all()を実行するだけで、正しい順序で表示されることを意味します。

class MyModel(models.Model):

    check_in = models.DateField()

    class Meta:
        ordering = ('-check_in',)
2
Thomas Turner

これは私のために働いています。

latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
0
Manish Gupta
  1. 昇順

    Reserved.objects.all().filter(client=client_id).order_by('check_in')
    
  2. 降順

    Reserved.objects.all().filter(client=client_id).order_by('-check_in')
    

ここでは-(ハイフン)を使用して降順を示します。

0