[英]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_date
是datetime
字段,我只需要将其转换为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.