Djangoで設定したクエリを日付で降順に並べ替えるにはどうすればいいですか?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
Check_inの日付で予約済みのすべてを降順から除外したいだけです。
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
以下の命令も使用できます。
Reserved.objects.all().filter(client=client_id).order_by('check_in').reverse()
昇順の場合
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]
.all()
を削除して動作します。
Reserved.objects.filter(client=client_id).order_by('-check_in')
- を追加すると、降順に並べられます。モデルのメタにデフォルトの順序を追加して設定することもできます。これは、クエリを実行するときにMyModel.objects.all()を実行するだけで、正しい順序で表示されることを意味します。
class MyModel(models.Model):
check_in = models.DateField()
class Meta:
ordering = ('-check_in',)
これは私のために働いています。
latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
昇順
Reserved.objects.all().filter(client=client_id).order_by('check_in')
降順
Reserved.objects.all().filter(client=client_id).order_by('-check_in')
ここでは-
(ハイフン)を使用して降順を示します。