2012-02-29 2 views
0

Django 모델을 사용하면 특정 날짜 이후에 생성 된 모든 레코드를 선택할 수있는 필터가 있습니까? 구문이나 필터를 사용하여 last_login보다 최신 레코드를 가져와야하는지 잘 모르겠습니다.마지막 로그인 이후 생성 된 모든 Django 레코드 얻기

Q 고급 쿼리를 사용해도 상관 없지만 더 간단 할수록 좋습니다!

답변

2

실제로 생성 된 모든 레코드를 선택하려면 현재 datetime은 필요하지 않습니다. 특정 날짜 이후. field_date__gte = last_login과 같은 조회와 함께 필터를 사용하기 만하면됩니다. 범위를 사용할 필요는 없습니다. 예 :

MyModel.objects.filter(my_model_date__gte=last_login) 
+0

감사합니다. 이것이 정확히 필요한 것입니다. 내가 사용했던 필드 검색을 찾기 위해 조금만 검색해야했다. (나는 아직 장고 초보자이다.) 누군가가 필요로 할 경우에 대비하여 여기에 문서가있다. https://docs.djangoproject.com/en/dev/ref/models/ 질문 모음/# gte –

1

당신은이 작업을 수행 할 수 있습니다

첫째, 사용자 LAST_LOGIN 얻을 :이처럼 원하는대로

last_login = user.last_login 

는 다음 데이터를 필터링 할 수 있습니다

Entry.objects.filter(pub_date__range=(last_login, datetime.datetime.now())) 

이 도움이 되었으면 좋겠합니다. ..

+0

답장을 보내 주셔서 감사합니다. 이 솔루션은 훌륭하게 작동하지만보다 간단한 구현을위한 다른 대답을 수용했습니다. –

+0

다른 답변은 짧지 만 마지막 로그인 날짜를 포함해야하는 경우 필요에 맞지 않습니다 ... last_login보다 날짜가 큰 항목 만 찾습니다 ... last_login을 부분으로 포함하지 않습니다. 결과는 – pahko

+0

입니다. "gte"조회는 last_login 값보다 크거나 같은 값을 선택합니다. –

관련 문제