2011-08-08 15 views
4

adminのインラインの保存方法をオーバーライドする必要があります。写真を保存しているうちに、ユーザーIDをDB列に追加する必要があります。私はそこに要求データが存在しないのでモデル化できません。どうやって管理者でそれをやって、何とかナドを設定することができますか?Django admin - インラインを保存するには?

答えて

-1

私は(1.8)ジャンゴするのは比較的新しいですし、上記のオーバーライド使用:

def save_formset(self, request, form, formset, change): 
    instances = formset.save(commit=False) # gets instance from memory and add to it before saving it 
    for obj in formset.deleted_objects: 
     obj.delete() 
    for instance in instances: 
     for form in formset: # cleaned_data is only available on the form, so you have to iterate over formset 
      instance.modified_by = request.user 
      instance.created_by = request.user 
      instance.lowercase_enum_value_en = form.cleaned_data['enum_value_en'].lower() 
      instance.save() 
    formset.save_m2m() 

つまり、インスタンスとフォームを保存する前に追加しますが、ユーザーが2行を入力すると、最後のcleaned_data ['enum_value_en']が必ず保存されます。

関連する問題