ビューの作成を介してModelFormに追加されたフィールドからのデータを処理します

ネジット

私がやろうとしていることは次のようなものです:

1)モデルを作成しました

class Example(models.Model):

     username = models.CharField(max_lenght=111)
     pass = models.CharField(max_lenght=111)

2)ModelFormを使用してフォームを作成し、フィールドを1つ追加しました

class ExampleForm(ModelForm):

    extra_field= form.CharField(max_length=333)

    class Meta:
        model = Client
        fields = ['username', 'pass']

3)このフォームを処理するためのビューを作成しました

class Registration(CreateView):
    """
    View handles user registration.
    """
    form_class = ExampleForm
    model = Example
    template_name = 'accounts/registration.html'
    success_url = reverse_lazy('accounts:registered')

ここで私がやりたいのは、extra_fieldのカスタム処理を行うことです。これはExampleFormのsaveメソッドで実行する必要があることがわかりました。例えば:

 def save(self, commit=True):

        user = super(ExampleForm, self).save(commit=False)
        data = self.cleaned_data['extra_field']
        user.set_password(self.cleaned_data['pass'] + self.cleaned_data['extra_field'])

        if commit:
            user.save()
        return user

しかし、これは機能しません。これはこの種の状況を処理する正しい方法ですか、それとももっと良い方法がありますか?最大の問題は、これが私のコードではないことです。そのため、ExampleFormのみを変更する必要があります。これを行う方法はありますか?

前もって感謝します。

よろしく、ニコラ

Bibhas Debnath

form_valid()メソッドでこれを行うことができますCreateView

class Registration(CreateView):
    """
    View handles user registration.
    """
    form_class = ExampleForm
    model = Example
    template_name = 'accounts/registration.html'
    success_url = reverse_lazy('accounts:registered')

    def form_valid(self, form):
        example = form.save(commit=False)
        example.extra_field = derive_data(form.cleaned_data)
        example.save()
        return super(Registration, self).form_valid(form)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

動的に作成されたフィルターをSQLServerのストアドプロシージャのパラメーターとして渡し、データをフィルター処理するにはどうすればよいですか?

分類Dev

ドキュメント全体とともに $lookup から配列内のフィルター処理された要素の数を取得します

分類Dev

Rでdplyrを使用してフィルター処理する場合、フィルター処理された変数のレベルがフィルター処理されたデータに残るのはなぜですか?

分類Dev

角度jsのカスタムフィルターを使用してネストされたjsonデータをフィルター処理できますか?

分類Dev

SSRSの複数値パラメーターに対して、連結された値でフィールドをフィルター処理します

分類Dev

元のデータフレームからのフィルター処理されたビュー/行のサブセットから値を更新した後、元のデータフレームを変更するにはどうすればよいですか?

分類Dev

phpを使用して動的に作成された追加削除フィールドからデータベースにデータを挿入できません

分類Dev

開始文字列に基づいて列をフィルター処理し、フィルター処理されたセルから数値を読み取り、算術演算を実行して Excel で 2 行の概要を生成します

分類Dev

一部のキーのみの配列からデータをマップします(フィルター処理されていません)

分類Dev

列の累積合計を使用して作成されたグループ化に基づいてRdata.tableをフィルター処理します

分類Dev

Dynamics 365では、レコードのフィールド値とユーザーのアクセス許可に基づいて、関連付けられたビューの結果をフィルター処理する方法はありますか?

分類Dev

Excel - 開始文字列に基づいて行をフィルター処理し、フィルター処理された行から数値を読み取り、算術演算を実行して列の概要を生成します

分類Dev

ビューでforeachループを使用して、ASP.NETのコントローラーからフィールドを反復処理します

分類Dev

関数を適用して、複数の列にまたがるフィルター処理された列の平均を作成しますr

分類Dev

AJAXを介してラジオボタンの形式からwpデータベースにシリアル化されたデータを追加します

分類Dev

jQueryを介して以前に追加されたフィールドの下にフィールドを追加するにはどうすればよいですか?

分類Dev

カスタム処理された入力フィールドにデータを入力します

分類Dev

スタックビューのテキストフィールドで、キーボードが表示されたらビューを上に移動します

分類Dev

配列からループを介して追加された特定のマーカーに円を追加します

分類Dev

ggplot2を使用してフィルター処理された列の棒グラフを作成する

分類Dev

djangoテンプレートのforloopで入力されたデータからajaxを介してdjangoビューにアイテムを送信します

分類Dev

javascriptを介して追加されたフォームフィールドはデータを渡しません

分類Dev

データベーステーブルからデータを返しているAngularのHttpClientを介して返されたRxJSデータを介してフィルタリングしようとしています

分類Dev

reactJSを使用してフィルター処理された検索テーブルを作成する方法。テーブル内の情報をフィルタリングするために検索バーを取得しようとしています

分類Dev

Djangoは、フィルター処理されたモデルインスタンスのグループ全体で最大フィールド値を取得します

分類Dev

特定の時間後に処理されるスケジュールされたタスクを作成します

分類Dev

正規表現を使用して、タブ区切りのテーブルから作成されたPythonディクショナリを反復処理する

分類Dev

データベースから動的に作成された入力フィールドでmysqlのテーブルを更新します

分類Dev

行が変更されたときにデータシートビューのフィールドを条件付きで更新しますか?

Related 関連記事

  1. 1

    動的に作成されたフィルターをSQLServerのストアドプロシージャのパラメーターとして渡し、データをフィルター処理するにはどうすればよいですか?

  2. 2

    ドキュメント全体とともに $lookup から配列内のフィルター処理された要素の数を取得します

  3. 3

    Rでdplyrを使用してフィルター処理する場合、フィルター処理された変数のレベルがフィルター処理されたデータに残るのはなぜですか?

  4. 4

    角度jsのカスタムフィルターを使用してネストされたjsonデータをフィルター処理できますか?

  5. 5

    SSRSの複数値パラメーターに対して、連結された値でフィールドをフィルター処理します

  6. 6

    元のデータフレームからのフィルター処理されたビュー/行のサブセットから値を更新した後、元のデータフレームを変更するにはどうすればよいですか?

  7. 7

    phpを使用して動的に作成された追加削除フィールドからデータベースにデータを挿入できません

  8. 8

    開始文字列に基づいて列をフィルター処理し、フィルター処理されたセルから数値を読み取り、算術演算を実行して Excel で 2 行の概要を生成します

  9. 9

    一部のキーのみの配列からデータをマップします(フィルター処理されていません)

  10. 10

    列の累積合計を使用して作成されたグループ化に基づいてRdata.tableをフィルター処理します

  11. 11

    Dynamics 365では、レコードのフィールド値とユーザーのアクセス許可に基づいて、関連付けられたビューの結果をフィルター処理する方法はありますか?

  12. 12

    Excel - 開始文字列に基づいて行をフィルター処理し、フィルター処理された行から数値を読み取り、算術演算を実行して列の概要を生成します

  13. 13

    ビューでforeachループを使用して、ASP.NETのコントローラーからフィールドを反復処理します

  14. 14

    関数を適用して、複数の列にまたがるフィルター処理された列の平均を作成しますr

  15. 15

    AJAXを介してラジオボタンの形式からwpデータベースにシリアル化されたデータを追加します

  16. 16

    jQueryを介して以前に追加されたフィールドの下にフィールドを追加するにはどうすればよいですか?

  17. 17

    カスタム処理された入力フィールドにデータを入力します

  18. 18

    スタックビューのテキストフィールドで、キーボードが表示されたらビューを上に移動します

  19. 19

    配列からループを介して追加された特定のマーカーに円を追加します

  20. 20

    ggplot2を使用してフィルター処理された列の棒グラフを作成する

  21. 21

    djangoテンプレートのforloopで入力されたデータからajaxを介してdjangoビューにアイテムを送信します

  22. 22

    javascriptを介して追加されたフォームフィールドはデータを渡しません

  23. 23

    データベーステーブルからデータを返しているAngularのHttpClientを介して返されたRxJSデータを介してフィルタリングしようとしています

  24. 24

    reactJSを使用してフィルター処理された検索テーブルを作成する方法。テーブル内の情報をフィルタリングするために検索バーを取得しようとしています

  25. 25

    Djangoは、フィルター処理されたモデルインスタンスのグループ全体で最大フィールド値を取得します

  26. 26

    特定の時間後に処理されるスケジュールされたタスクを作成します

  27. 27

    正規表現を使用して、タブ区切りのテーブルから作成されたPythonディクショナリを反復処理する

  28. 28

    データベースから動的に作成された入力フィールドでmysqlのテーブルを更新します

  29. 29

    行が変更されたときにデータシートビューのフィールドを条件付きで更新しますか?

ホットタグ

アーカイブ