2016-09-25 18 views
0

Django 1.10。フォームセットの再構築

書式設定の学習。方法has_changedに興味があります。

フォームとの類推によって習得しようとすると:「フォームが提出されると、元のデータを再構成して比較できるようにします」(https://docs.djangoproject.com/es/1.10/ref/forms/api/#checking-which-form-data-has-changed)。

したがって、サーバーで初期データを保存する必要があります。 Djangoはhtmlをレンダリングします。フォームは孤立しています。フォームセットは特殊なIDを持つ入力タグだけです。ユーザーがフォームを送信します。私たちはrequest.POSTを捕まえる。

ここで、formsetを再構築する必要があります。

問題が提出されているということです、フォームセットは、次のようになります。私の能力を最大限に

QueryDict: <QueryDict: {'csrfmiddlewaretoken': ['X5RMIXfwfQH9zUYz7ODw59UPEr1AQaeciJR2qrLU64ipbBnbu4jKEcW0nVc019vC', 'X5RMIXfwfQH9zUYz7ODw59UPEr1AQaeciJR2qrLU64ipbBnbu4jKEcW0nVc019vC'], 'form-0-pub_date': ['2016-01-01'], 'form-1-pub_date': [''], 'form-0-title': ['Initial title'], 'form-1-title': ['']}> 

、私は考えることができます:

1. キー行き方:

request.POST.keys() 

結果:

dict_keys: dict_keys(['csrfmiddlewaretoken', 'form-0-pub_date', 'form-1-pub_date', 'form-0-title', 'form-1-title']) 

2. str.split( ' - ')のようなキーを分割する。それから私は何とかデータを扱うでしょう。

def post(self, request): 
    l = list(request.POST.keys()) 
    l.remove("csrfmiddlewaretoken") 
    for element in l: 
     sp = element.split("-") 
    pass 

これはまったく面倒です。そして、私は不器用に感じます。だから私は、has_changedメソッドに実用的な価値があるかどうかわからないということは不気味です。

フォームセットを再構築するための洗練された方法を教えてください。

答えて

関連する問題