我需要一些帮助来学习如何获得"日期时间"使用过滤器的价值。
我正在努力获得一张按年显示销售订单的表格。
如何改进我的代码才能获得它?
models.py
class Ventas(models.Model):
codigoventa = models.CharField(max_length=7, unique=True)
codigocliente = models.ForeignKey('Clientes')
Fecha_registro = models.DateTimeField("Fecha de edicion", auto_now_add=True)
totalventa = models.DecimalField(max_digits=10, decimal_places = 2)
codigosucursal = models.ForeignKey('Sucursales')
totalventa = models.IntegerField()
def __unicode__(self):
return self.codigoventa
class Meta:
ordering = ['-pub_date']
views.py
def ventas_anio(request):
ventas = Ventas.objects.filter(Fecha_registro=datetime(2013, 1, 30))
return render_to_response('ventasanual.html',{'datos':ventas}, context_instance=RequestContext(request))
答案 0 :(得分:1)
如果您想按特定日期过滤,
import datetime
the_day = datetime.date(2013, 1, 30)
Ventas.objects.filter(Fecha_registro__gte=the_day,
Fecha_registro__lt=the_day+datetime.timedelta(1))
或者
Ventas.objects.extra(where=["DATE(Fecha_registro)=%s"], params=['2013-01-30'])
效率低但可行
Ventas.objects.filter(Fecha_registro__year=2013,
Fecha_registro__month=1,
Fecha_registro__day=30)
gte
,lt
,extra
,year
,month
和day
的文档是here