Django 1.3 - Admin - "Add Entry"ボタン - 前のモデルインスタンスのフィールドをコピーする

何らかの理由でこれを行う方法が見つかりません。

管理ページの "Add_model Entry"ボタンをクリックすると、ユーザが作成して保存した前のモデルインスタンスに入れたのと同じ値を、ほとんどのフィールドに入力します。 (私は、どのユーザーについて、最後の(最年少の)保存されたインスタンスについては気にしない)。

ユースケース:ユーザーはこのモデルのインスタンスをバッチモードで作成します。例えば、非常によく似た10アイテムです。「エントリの追加」ボタンを押すたびにほとんどの情報が事前入力されていると非常に役立ちます。何らかの理由でそれが重要なのであれば、1日に3〜4回これを行うことができ、各バッチは前のバッチからのフィールドで著しく異なる値を持ちますが、バッチ内の各インスタンスは似ています。それで、私は、最近保存された値をあらかじめ準備しておくことを考えました。

実際の例:


class person:
name= CharField => (obvious)
interests= CharField => Example (fly, skate, swim)
age_range= CharField => Example (old, middle, young)

バッチ1 =飛行して古い人

Jim Smith, Fly, Old
Sara Smith, Fly, Old
Larry Jones, Fly, Old

バッチ2 =スケーター

Sam Samuelson, Skate, Young
Alfred Bob, Skate, Old
Jon Jon, Skate, Old

各バッチには多くの類似点がありますが、バッチは非常に異なる場合があります。だから私は、新しいIDを持つ以前に保存されたモデルのコピーが必要であると推測します(ここでは継承はありませんが、ForeignKeysがあります)。それを「エントリの追加」ボタン/サイトに追加するにはどうすればよいですか?

0

2 答え

ModelAdmin のカスタム ModelForm を作成して、インスタンス code>提供されている場合は、新しいオブジェクトを作成するのではなく、既存のオブジェクトを編集していることを意味します。そうでない場合は、最新のオブジェクトをクエリし、 initial dictあなたがそのインスタンスから引き出した値で置き換えます。

0
追加された
いいえ、私はあなたがここでターンキー型のソリューションを見つけるとは思わない - それはかなりニッチな使用事例です。あなたの問題を解決することを幸運。
追加された 著者 Michael C. O'Connor,
OK - 私はバッテリーを含むことを望んでいましたが、来週はそれを試してみます - これは一般的なケースではありません、多分私は間違っているつもりです - 新しくdjangoに - 私はちょうど、キーワード、私はここで尋ねた。
追加された 著者 dale,

2番目のオプションとして、Django Admin 名前を付けて保存機能を使用します。これはまさにあなたが探しているものではありませんが、ユーザーは以前のエントリに行っていくつかのフィールドを編集し、新しいオブジェクトとして保存します。これは同じエフェクトに近いでしょう。

0
追加された