2011-08-08 131 views
4

我需要重写管理中内联的保存方法。在保存照片时,我需要将用户ID添加到数据库列。我无法在模型中创建它,因为那里没有请求数据。我怎么能在管理员,以某种方式获得设置用户ID?Django管理员 - 如何保存内联?

回答

-1

我是比较新的Django的(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行时,它总是保存最后的cleared_data ['enum_value_en']。