장고에서 필터로 최신 기록 가져오기
나는 최신 장고 모델 물체를 구하려고 하는데 성공할 수 없을 것 같습니다.
이 중 어느 것도 작동하지 않습니다.
obj = Model.objects.filter(testfield=12).latest()
obj = Model.objects.latest().filter(testfield=12)
django: https://docs.djangoproject.com/en/dev/ref/models/querysets/ #http://에서 문서 참조
필드를 최신()으로 지정해야 합니다.
obj= Model.objects.filter(testfield=12).latest('testfield')
또는 모델의 메타에서 get_latest_by를 지정한 경우에는 다음을 생략할 수 있습니다.field_name
의론.earliest() or latest()
. 장고는 다음에 지정된 필드를 사용합니다.get_latest_by
기본적으로
obj= Model.objects.filter(testfield=12).order_by('-id')[0]
마지막에 서명():
ModelName.objects.last()
최신 버전 사용:
ModelName.objects.latest('id')
latest
는 실제로 날짜 필드에서 작동하도록 설계되었습니다(아마도 다른 전체 순서 유형에서도 작동할 수 있지만 확실하지는 않습니다).필드 이름을 지정하지 않고 사용할 수 있는 유일한 방법은get_latest_by
메타 속성, 여기에 언급된 바와 같이.
obj= Model.objects.filter(testfield=12).order_by('-id')[:1]
올바른 해결책입니다.
obj = Model.objects.filter(testfield=12).order_by('id').latest('id')
- 필요한 필드를 기준으로 필터링(이 경우 테스트 필드)
Model.objects.필터(테스트필드=12)
- 최신 레코드를 얻으려면 먼저 쿼리 세트를 정렬해야 합니다.기준에 따라 마지막 기록을 반환할 것을 알 수 있도록 말입니다.
이제 기본 키를 기준으로 결과 순서를 정합니다(대부분 pk=id).
Model.objects.필터(testfield=12.order_bypassid')
https://docs.djangoproject.com/en/4.0/ref/models/querysets/ #주문별
기본적으로 QuerySet에서 반환되는 결과는 모델의 Meta에서 Ordering 옵션에 의해 주어진 Ordering Tuple에 의해 순서가 정해집니다.order_by 메서드를 사용하여 쿼리 세트 단위로 이 작업을 재정의할 수 있습니다.
- 쿼리를 설정한 후 정렬합니다.필요한 기준에 따라 최신 정보를 얻으십시오. 이 경우 ID입니다.
Model.objects.필터(testfield = 12.order_bypassid').latest(최신)
여기 아래에 있는 이것과 비교해 볼 수 있습니다.
latest('created')
와 같은order_by('-created').first()
제가 틀렸다면 고쳐주세요.
언급URL : https://stackoverflow.com/questions/15675672/get-the-latest-record-with-filter-in-django
'source' 카테고리의 다른 글
리눅스에서 해당 pid의 프로세스 이름 (0) | 2023.09.19 |
---|---|
GCC에서 이니셜라이저 주변의 브레이스가 누락됨 (0) | 2023.09.19 |
Wordpress Database Class - MySQL 유형 비트 (0) | 2023.09.14 |
Wordpress Database Class - MySQL Type Bit (0) | 2023.09.14 |
URL의 앵커 부분이 웹 서버로 전송되고 있습니까? (0) | 2023.09.14 |