0

そのため、クラスベースの編集 (CreateView および UpdateView) ビューがモデルのランダムな選択で一貫してリダイレクトに失敗し、get_absolute_url がそれらのモデル用であっても定義されていないと言って、この問題に遭遇しました。実際のクラスベースのビューでデバッグを行ったところ、get_success_url() メソッドの場合、self.object が None であるにもかかわらず、self.get_object() を実行すると正しいオブジェクトが返されることが原因であることがわかりました。なぜ self.object が none になるのか興味がありますが、この場合は self.get_object が機能し、これに対する解決策をハックする方法を知っていますが、おそらくそうする必要はないと感じています。おそらく私のプロセスの一部が間違っていることを意味しますが、単純なモデルを書いているので何が原因かわかりません. CreateView と UpdateViews で get_absolute_url を定義し、model と form_class を設定します。以前にこの問題に遭遇した人はいますか?

4

1 に答える 1

0

問題は、これらのクラスの ModelForm で保存をオーバーライドしたことであり、オブジェクトを保存したにもかかわらず、それらを返していないことに気付きました。それらを返すことで問題は解決しました。ModelFormMixin の form_valid を調べると、解決策がわかりました。

于 2012-12-09T06:39:44.683 に答える