我是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
异常值:需要一个整数
我认为我需要将日期时间转换为整数...
任何解决方案?
提前致谢!
答案 0 :(得分:3)
data_expediente
是DateField
,因此它需要一个有效的Date
对象,但您要提供一个Datetime
对象。您必须修复以下内容:
from datetime import datetime, timedelta
now = datetime.today().date() # get a Date object
data_inicio = now + timedelta(days=30)