ローカルマシンと開発マシンにそれぞれSQLiteとMySQLがインストールされています。 Django-MySQLはqueryset extraでmodel.columnを認識できませんか?
select_single = {'date': "strftime('%%Y-%%m-%%d',projectName_Modelname.created)"}
queryset.extra(select=select_single)
しかし
strftime
は、MySQL(
link)では動作しませんので、あまりにも与えられたリンクやその他の場所で提案されているように、私は
DATE_FORMAT()
を使用してみました次は、(SQLiteのと)私のローカルマシン上で正常に動作しています。 は今けど、私は以下を実行する場合:
select_single = {'date': "DATE_FORMAT(projectName_Modelname.created, '%%Y-%%m-%%d')"}
queryset.extra(select=select_single)
次のエラーが来る: '作成'
DatabaseError: (1054, "Unknown column 'projectName_Modelname.created' in 'field list'")
は、Djangoのモデルアプリの 'MODELNAME' 'プロジェクト名'
デバッグに日時フィールドですprojectName_Modelname.created
をNOW()
に置き換えてもエラーは発生しません。私もprojectName_Modelname.created
の代わりにModelname.created
を試してみましたが、何のメリットはありませんか?
注:
date_raw_query = {'date': "date_format(created, '%%Y-%%m-%%d')"}
してからで働く希望
queryset.extra(select=date_raw_query)
を試してみてください。私はDjango1.5.5
Django 1.5.5は何年も時代遅れです。誰も今は余分なものを使用する方法を覚えていませんが、常にこの問題を避けるために、ローカルとプロダクションで同じRDBMSを使用しようとします。 – e4c5
そして、なぜこれをやりたいのか説明できますか? Pythonまたはテンプレートのどちらかで出力時に日付を書式設定するほうがはるかに簡単です。 –
@ e4c5これは私が維持しているプロジェクトに関するものであり、いくつかの変更が要求されました。 – Sid