2011-09-13 24 views
1

djangoクラスのUpdateViewにsuccess_urlを設定しようとしていますが、動作させることができません。Djangoクラスベースのビューsuccess_url

success_url="/polls/%(slug)s/" 

ただし、動作していません。 success_urlのモデルフィールドにはどうやってアクセスできますか?

+0

これはオブジェクトフィールドの属性に依存します。投稿した例では、モデルに 'slug'フィールドが必要です。ビューのクラスコードを投稿することも役立ちます。 – mkriheli

+0

OK、私はモデルフィールドにアクセスできるようです。どのように私は関連するモデルのフィールドにアクセスできますか? – thesteve

+0

あなたが提供した情報を考慮した下記の回答をご覧ください。 – mkriheli

答えて

4

これは、オブジェクトフィールドの属性に依存します。投稿した例では、モデルにはスラッグフィールドが必要です。関連分野については

あなたは、関連するオブジェクトのためのDjangoの__表記法を使用して試すことができます(例えば:user__usernamesuccess_urlで、わからないことは、うまくいく場合。

IMOの場合は、get_success_url()を上書きし、self.objectというURLを返してください。

+0

ありがとうございました。実際にsuccess_urlを設定することはできず、自動的にオブジェクトget_absolute_url()メソッドを使用することができました。 – thesteve

+0

ええ、それはフォールバックオプションです;-) – mkriheli

関連する問題