0

UserCreationForm に別のフィールドを追加して RegistrationForm に表示したいのですが、その目的のためにstackoverflowでいくつかの例を見ました。このスタックオーバーフローの質問で説明されているように、 UserCreationForm から継承された別の RegisterForm を定義することによる例を意味します: django-create-custom-usercreationform-b​​asic

しかし、データがモデルを含む 2 つまたは 3 つの異なるモデルに属している場合、どうすればよいUserでしょうか? その後、save メソッドをオーバーライドするか、他のことを行いますか? UserCreationForm から継承される RegistrationForm で処理するだけで、より低レベルにならずに処理する方法はありますか? より良い方法は何ですか?

4

1 に答える 1

0

さて、リンクでわかるように、使用できるアプローチはたくさんありますが、どれもあなたが望むほど高レベルに見えません。あなたが Django にどれほど精通しているかはわかりませんが、リンクされたアプローチは非常に有望に見えます。それは新鮮で、シグナルフレームワーク(柔軟)を使用し、実装が非常に簡単です-問題に対して十分な高レベルです。UserProfile Exampleに注意してください。それらは問題に非常に似ており、より一般的なものだからです。

シグナルを使いたくない場合、最も簡単な解決策は save メソッドをオーバーライドすることです。

だから、あなたはすでに解決策を念頭に置いていました。私は、より優れた、またはより高レベルのソリューションを見つけることができません。

于 2012-04-12T00:28:32.110 に答える