0

我是 Django (1.4.1) 的新手,我有一个这样的模型:

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))

我已经尝试过查询__gte __range和其他人,但最后我总是有一个错误:

异常类型:TypeError

异常值:需要整数

我认为我需要将日期时间转换为整数......

有什么解决办法吗?

提前致谢!

4

1 回答 1

3

data_expediente是 a DateField,所以它需要一个有效的Date对象,但你给的是一个Datetime对象。您必须修复以下问题:

from datetime import datetime, timedelta

now = datetime.today().date() # get a Date object
data_inicio = now + timedelta(days=30)
于 2012-09-18T12:58:13.747 回答