0

フィルターを使用して「Datetime」値を取得する方法を学習するための助けが必要です。

年ごとの販売注文を示すテーブルを取得するために取り組んでいます。

それを取得するためにコードを改善するにはどうすればよいですか?

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']

ビュー.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))
4

1 に答える 1

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)

gteltextrayearのドキュメントはこちらmonth_day

于 2013-05-30T01:57:21.053 に答える