2016-12-23 18 views
-1

テーブル名がservice_tableのフィールドがあります。フィールドは、日曜日月曜日,火曜日などのような日の名前を持っています。私はポストグレスデータベーステーブルのすべての列の値を小文字に変更したいと思います。 は、インスタンス について「日曜日の更新が「日曜日」 ように私は、クエリ ポストグルのカラムの値を小文字に変換する

update service_table set days=lower(days); 

書かれていますが、それは

ヒントを示しています。機能なしでは与えられた名前と引数の型と一致しません。明示的な型キャストを追加する必要があるかもしれません。

注:この表には、いくつかの外部キーがあります。

+0

service_table –

+0

の列のデータ型何であります '日? – Patrick

+0

ヒント部分だけでなく、エラーメッセージ全体を追加してください。 – pozs

答えて

3

あなたはDjangoのupdate()が直接更新のための一括操作で

from django.db.models import F 
from django.db.models.functions import Lower 

service_table.objects.update(days=Lower(F('days')) 

シェルジャンゴでこれを行うことができます。

Django F()は、実際にデータベースからPythonメモリにプルする必要なく、モデルフィールドの値を参照してデータベース操作を実行することができます。コラムの**正確な**データ型とは何

F()それを保存するために、モデルフィールドの値を引く、それは要求に処理し、update()を使用することができますバック

+1

新しいメンバーからの朗報です。あなたがここで何が起こるかについての説明を追加した場合、それはさらに良いでしょう。 – e4c5

関連する問題