2017-01-10 4 views
0

필드 값과 변수의 차이에 따라 모델의 모든 객체를 나열하려고합니다. 예를 들어, 3 일 이상 경과 된 이후에 생성 된 객체를 가져 오려고합니다. 그래서django queryset의 변수와 반환 된 필드의 차이를 비교합니다.

AttributeError: 'ExpressionNode' object has no attribute 'lookup' 

하시기 바랍니다 조언을 다음과 같이 내가 쉘에서 실행할 때 나에게 오류를주고있다

import datetime 
from myapp_books.models import Book 
from django.db.models import F 

current_date = datetime.date.today() 
books = Book.objects.annotate(day_difference=F('date_added__date') - current_date).filter(day_difference__gte=3) 
books.count() 

을 다음과 같이 모델을 조회하려합니다. 나는 날짜가 그 또한

Book.objects.filter(date_added__date__gte=datetime.now()-timedelta(days=3)) 

나이가 3 일 이상 오래 추가에 그냥 필터링 할 수 있어야합니다, 당신이 모든 주석을 필요가 있다고 생각하지 않습니다 장고 1.5.12

+3

장고 1.5.12,하지만 왜? –

+0

F 식은 django 1.8+ methinks에 관한 것입니다. – e4c5

+0

@MosesKoledoye 업그레이드하려면 코드 검토가 많이 필요하므로 잠시 후 동일한 버전을 사용하고 있습니다. 곧 업그레이드가 필요합니다. –

답변

4

을 사용하고 있습니다 , 장고의 지원되는 버전으로 업그레이드해야합니다

+1

+에 대한 약간의 업그레이드가 있습니다. – e4c5

+1

@Sayse Thanks a lot. 그것은 주석없이 일했습니다. –