[python] Django에서 필터로 최신 기록 가져 오기
최신 Django 모델 개체를 얻으려고하지만 성공할 수 없습니다.
둘 다 작동하지 않습니다.
obj = Model.objects.filter(testfield=12).latest()
obj = Model.objects.latest().filter(testfield=12)
답변
obj= Model.objects.filter(testfield=12).order_by('-id')[0]
답변
django의 문서를 참조하십시오 :
https://docs.djangoproject.com/en/dev/ref/models/querysets/#latest
latest ()에 필드를 지정해야합니다. 예.
obj= Model.objects.filter(testfield=12).latest('testfield')
또는 모델의 Meta가 get_latest_by를 지정하는 경우 field_name
인수를 earliest() or latest()
. Django는 get_latest_by
기본적으로 지정된 필드를 사용합니다 .
답변
Usign last () :
ModelName.objects.last()
latest () 사용 :
ModelName.objects.latest('id')
답변
답변
obj= Model.objects.filter(testfield=12).order_by('-id')[:1]
올바른 솔루션입니다