オブジェクト更新用のビューのテストをするときに、フォームにすでに入力されている値をテスト
したいことがある。
>>> response = self.client.get('/update/1/')
response オブジェクトから、いかにフォームの初期値を取るかという問題。
解法
フォームを form としてコンテキストに与えた場合は以下のようにすると
フォームオブジェクトが取れる。
>>> response.context['form']
form のに text というラベルがあった場合、初期値を取るには以下のようにする。
>>> response.context['form'].initial['text']
フォームセットの場合は、 formset をコンテキストに与えたとして以下のようにすると、
束縛したクエリセットがとれる。
>>> response.context['formset'].queryset
コンテキストに与えたものは response.context から取れるようなので、テストに使いやすい。