繁体   English   中英

到目前为止的Django Datetime字段

[英]Django Datetime Field to date

我正在尝试将datetime字段转换为date,以便可以按日期汇总数据。

list_transaction_line_agg = Transaction.objects.values(Date('trans_date'))
                                               .annotate(data_sum=Sum('amount'))
                                               .order_by()

但是我似乎无法使其正常工作。 字段trans_datedatetime字段,我只需要将其转换为date

models.py

class Transaction(models.Model):
    trans_date = models.DateTimeField(auto_now=False, auto_now_add=False)
    trans_type = models.CharField(max_length=120, null=True, blank=True)
    category = models.ManyToManyField(Category)
    amount = models.IntegerField()
    description = models.TextField(null=True, blank=True)
    timestamp = models.DateField(auto_now_add=True, auto_now=False)
    updated = models.DateField(auto_now_add=False, auto_now=True)
    ip = models.CharField(max_length=250, blank=True, null=True)

    def __unicode__(self):
        return smart_unicode(self.trans_type)

html

<h2>Agg</h2>
{% for Transaction in list_transaction_line_agg %}
( {{ Transaction.data_sum}}, {{ Transaction.trans_date }} )
{% endfor %}

在您的html中,只需执行以下操作:

<h2>Agg</h2>
{% for Transaction in list_transaction_line_agg %}

( {{ Transaction.data_sum}}, {{ Transaction.trans_date|date:'d-M-Y' }} )

 {% endfor %}

这应该可以解决您的问题。

这就是我如何使其工作

list_transaction_line_agg = Transaction.objects.extra({'published':"date(trans_date)"}).values('published').annotate(data_sum=Sum('amount'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM