如何从Django中的查询集更改日期时间格式值?

时间:2015-03-27 02:37:04

标签: django datetime highcharts

我们说我有这个问题:

getall = DataForecast.objects.all().values("date_time", "rainfall_mm_per_10_min", "wl_observed_m",
                                       "wl_forecasted_m")
return HttpResponse(json.dumps(list(getall),cls=DjangoJSONEncoder), content_type='application/json')

date_time在我的模型中是DateTimeField,查询返回一个JSON数据,其中date_time格式的结果如下所示"date_time": "2014-01-18T14:00:00"。在我的情况下,这很难读。有没有办法重新格式化date_time这样的Jan 18, 2014 02:00 PM值?

我知道我可以通过例如{{dates.date_time | date:'M d, Y h:i A'}}来操纵模板中的格式,但我的查询会返回JSON数据,而我正在使用Highcharts的数据。

这是我的模特:

class DataForecast(models.Model):
    date_time = models.DateTimeField()
    rainfall_mm_per_10_min = models.FloatField(null=True)
    wl_observed_m = models.FloatField(null=True)
    wl_forecasted_m = models.FloatField(null=True)

1 个答案:

答案 0 :(得分:0)

在DataForecast模型中定义名为date_time_formatted的属性:

@property
def date_time_formatted(self):
    return self.date_time.strftime('%Y-%m-%d')

将getall查询中的date_time替换为date_time_formatted。