Saya mencoba untuk mendapatkan objek model Django terbaru tetapi tampaknya tidak berhasil.
Tak satu pun dari ini berfungsi:
obj = Model.objects.filter(testfield=12).latest()
obj = Model.objects.latest().filter(testfield=12)
python
django
django-models
django-queryset
doniyor
sumber
sumber
obj= Model.objects.filter(testfield=12).order_by('-id')[:1]
NewsPostImage.objects.filter(newsPostTarget=img_id).first()
. Semoga membantu.Jawaban:
obj= Model.objects.filter(testfield=12).order_by('-id')[0]
sumber
Lihat dokumen dari django: https://docs.djangoproject.com/en/dev/ref/models/querysets/#latest
Anda perlu menentukan bidang di latest (). misalnya.
obj= Model.objects.filter(testfield=12).latest('testfield')
Atau jika Meta model Anda menetapkan get_latest_by, Anda dapat meninggalkan
field_name
argumen keearliest() or latest()
. Django akan menggunakan bidang yang ditentukanget_latest_by
secara baku.sumber
terakhir () terbaru ()
Usign terakhir ():
menggunakan latest ():
ModelName.objects.latest('id')
sumber
latest
benar-benar dirancang untuk bekerja dengan bidang tanggal (mungkin juga berfungsi dengan jenis urutan total lainnya, tapi tidak yakin). Dan satu-satunya cara Anda dapat menggunakannya tanpa menentukan nama bidang adalah dengan menyetelget_latest_by
atribut meta, seperti yang disebutkan di sini .sumber
Model.objects.latest('id')
obj= Model.objects.filter(testfield=12).order_by('-id')[:1]
adalah solusi yang tepatsumber