2012-09-18 2 views
0

내가 장고 (1.4.1)에 새로운 오전이 같은 모델이 있습니다장고하여 DateField 쿼리

class Expediente(models.Model): 
    numero_expediente = models.IntegerField() 
    ano_expediente = models.IntegerField() 
    data_expediente = models.DateField(blank=False, null=False) 
    urgencia = models.IntegerField() 
    complexidade = models.IntegerField(null=True) 
    numero_copia = models.IntegerField() 
    posse = models.IntegerField() 
    grupo = models.IntegerField(null=True) 

을 그리고 날짜 범위 질의를 할 노력하고있어 :

now = datetime.now() 
lista_expedientes = Expediente.objects.all().order_by('ano_expediente' 

data_inicio = datetime.combine(now+timedelta(-30), now.timetz()) 
data_fim = datetime.combine(now, now.timetz()) 

exp_antiguidade[0] = lista_expedientes.filter(data_expediente__range=(data_inicio, data_fim)) 

Exception Type: TypeError

Exception Value: an integer is required

내가 : __gte__range 다른 사람과

내가 시도 쿼리는하지만, 마지막에 난 항상 오류가 내가 datetime을 정수로 변환해야하는 잉크 ...

모든 솔루션?

미리 감사드립니다.

+0

을 ...이 오타입니다 :) –

답변

2

data_expedienteDate 개체가 올 것으로 예상되므로 Datetime 개체를 제공하고 있습니다. 다음과 같은 수정해야합니다 : 당신은 후 ... order_by ('ano_expediente'닫는 괄호를 누락

from datetime import datetime, timedelta 

now = datetime.today().date() # get a Date object 
data_inicio = now + timedelta(days=30) 
+0

+1 그것에 나를 이길?. – Nix

+0

@Herrmann 질문을 업데이트하고 수정 사항으로 다시 쓸 수 있습니까? – FallenAngel

+0

감사 FallenAngel !!! – Herrmann

관련 문제