これは私のコードです:
for i in report:
reports.append({
'total':i['vends__sum'],
'date':datetime.strptime(i['month'], "%Y-%m-%d %H:%M:%S")
})
これは私のOSX開発環境(virtualenv env django 1.5)で動作します
しかし、私の本番サーバー (ubuntu 12.04 virtualenv django 1.5) では、次のエラーで動作しません:
Django Version: 1.5.1
Exception Type: TypeError
Exception Value:
must be string, not datetime.datetime
Exception Location: /var/www/webapps/cirostats/products/templatetags/product_tags.py in show_main_chart, line 41
41行目は
'date':datetime.strptime(i['month'], "%Y-%m-%d %H:%M:%S")
ある環境では機能し、他の環境では機能しない理由がわかりませんか? ここで間違っているのは開発者ですか、それとも製品ですか?
Prod : Python 2.7.3
Dev: Python 2.7.1
もっと:
レポートの作成方法は次のとおりです。
truncate_date = connection.ops.date_trunc_sql('month','timestamp')
qs = objects.extra({'month':truncate_date})
report = qs.values('month').annotate(Sum('vends')).order_by('month')