如何在django ModelAdmin中访问内联数据

如何在django ModelAdmin中访问内联数据,django,django-models,django-forms,django-admin,Django,Django Models,Django Forms,Django Admin,我需要处理一个文件上传到django管理形式。我在表单中添加了一个文件上载字段: class ExampleInline(admin.TabularInline): model = OtherExample extra = 1 class ExampleForm(forms.ModelForm): filedata = forms.FileField() class Meta: model = ExampleModel class ExampleM

我需要处理一个文件上传到django管理形式。我在表单中添加了一个文件上载字段:

class ExampleInline(admin.TabularInline):
    model = OtherExample
    extra = 1
class ExampleForm(forms.ModelForm):
    filedata = forms.FileField()
    class Meta:
        model = ExampleModel
class ExampleModelAdmin(admin.ModelAdmin):
    form = ExampleForm
    inlines = [ExampleInline,]
这将完全按照我希望的方式渲染窗体。请求中返回的数据正是我所期望的

问题是我想访问内联的内容

class ExampleAdmin(admin.ModelAdmin):
...
def save_model(self, Request, obj, form, change):
   the_file = form.cleaned_data['filedata']
   # do amazing things to contents of file
此时,我想引用用户在内联中选择的结果。不管他们选了什么,比如说


我如何通过表单访问它?我不想通过这个请求,但我愿意这样做。我还愿意检查
save\u related(self、request、form、formset、change)
save\u related
可以做到这一点,尽管它是在表单保存后调用的,所以最终会保存两次对象。您可以通过
form.instance
formset.instance
访问对象

def save_related(self, request, form, formsets, change):
    obj = form.instance
    # whatever your formset dependent logic is to change obj.filedata
    obj.save()
    super(ExampleAdmin, self).save_related(request, form, formsets, change)

谢谢,我已经了解了必须使用的
save_related
,但是
OtherExample
formset
中的何处?如果您正在从内联表单集中读取数据,您可能需要查看
已清理的\u数据
dict中的每个表单。或者完全覆盖内置的
save_related
save_formset
,以便您可以捕获保存表单集的结果,这些结果将是更改或创建的
OtherExample
实例。即:
formset[0]。已清理的表单数据
保存在
save_related()
中所需的数据。非常感谢。