[解決済み] [Djangoで「一括更新」する方法とは?
2022-04-23 13:09:07
質問
Djangoでテーブルを更新したい - 生のSQLでこのようなものです。
update tbl_name set name = 'foo' where name = 'bar'
最初の結果はこんな感じです。でも、これって意地悪ですよね?
list = ModelClass.objects.filter(name = 'bar')
for obj in list:
obj.name = 'foo'
obj.save()
もっとエレガントな方法はないのでしょうか?
どのように解決するのですか?
更新しました。
Django 2.2バージョンで 一括更新 .
古い回答です。
以下の django ドキュメントのセクションを参照してください。
要するに使えるようになればいいんです。
ModelClass.objects.filter(name='bar').update(name="foo")
を使用することもできます。
F
オブジェクトを使用して、行のインクリメントなどを行うことができます。
from django.db.models import F
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
をご覧ください。 ドキュメンテーション .
ただし、その点は注意してください。
-
を使用しません。
ModelClass.save
メソッドを使用します(そのため、内部に何らかのロジックがある場合はトリガーされません)。 - django のシグナルは出力されません。
-
を実行することはできません。
.update()
をスライスされたQuerySetに適用する場合、元のQuerySetに適用する必要があります。.filter()
と.exclude()
のメソッドを使用します。
関連
-
[解決済み】Djangoのクエリセットフィルタリングでnot equalを行うにはどうすればよいですか?
-
[解決済み] djangoでDISTINCT個々の列を選択しますか?
-
Djangoデータベースのクエリセット操作
-
[解決済み] Djangoの "slug "とは何ですか?
-
[解決済み] Django のモデルで on_delete は何をするのですか?
-
[解決済み] django の OneToOneField と ForeignKey の違いは何ですか?
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み】DjangoのImageFieldにプログラム的に画像を保存する
-
[解決済み] Django で null を許容するユニークなフィールド
-
[解決済み] Django - 外部キーのプロパティでフィルタリングする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Django: 基数が 10 の int() のリテラルが無効です。
-
[解決済み] Django Programmingのエラーカラムが、マイグレーションを実行しても存在しない。
-
[解決済み] ImportError: rest_framework_jwt.viewsという名前のモジュールがありません。
-
django upstream が up からの応答ヘッダを読み込む際に接続を早々に切断してしまう。
-
[解決済み】Django シェルから Python スクリプトを実行する方法は?
-
[解決済み】DEBUG = Falseに設定すると500エラーになる。
-
[解決済み】PostgreSQLで同じクエリで複数行の更新を行う。
-
[解決済み】Djangoで一対多の関係を表現する方法は?
-
[解決済み】Djangoの管理者用URLをオブジェクトに取得する
-
[解決済み] djangoモデルのカスタムsave()メソッドでは、新しいオブジェクトをどのように識別する必要がありますか?