2020年1月16日木曜日

Django Adminリスト一覧で選択したレコードの特定フィールドを一括変更する

Adminリスト一覧で選択したレコードの特定フィールドを一括変更するというのは、
プルダウンで表示されるActionのことです。

たとえば、レコードに「公開/非公開」のフィールドがあった場合、一括で 「公開/非公開」変更したかったのです。以下を参考にしました。

Django calling save on a QuerySet object - 'QuerySet' object has no attribute 'save'

Updating multiple objects at once
https://docs.djangoproject.com/en/2.0/topics/db/queries/#updating-multiple-objects-at-once


Productというモデルが、publishというフィールドを持って、publishが1のとき「公開」です。
以下のように updateメソッドを使いました。

admin.py 内


    actions = ['publish']
    def publish(selfrequestqueryset):
        self.message_user(request, "公開しました。")
        queryset.update(publish=1)




0 件のコメント:

コメントを投稿