使用过滤器获取pub_date值

时间:2013-05-30 00:17:44

标签: python django django-queryset

我需要一些帮助来学习如何获得"日期时间"使用过滤器的价值。

我正在努力获得一张按年显示销售订单的表格。

如何改进我的代码才能获得它?

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

1 个答案:

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

gteltextrayearmonthday的文档是here