Django管理员在表单上编辑内联对象

时间:2012-07-25 07:05:28

标签: python django django-models django-forms

我有以下型号:

class ProjectBudget(models.Model):

它有一个表格和内联:

class ProjectBudgetAdmin(admin.ModelAdmin):  
    form = ProjectBudgetForm
    inlines= [ProjectSpentsInline]

class ProjectSpentsInline(admin.TabularInline):
    model = ProjectSpents

在表单上我有一个字段file。从这个文件我想要填充内联对象ProjectSpents值:

class ProjectBudgetForm(ModelForm):
    file  = forms.FileField

    def clean_file(self):
        parse file then populate inline model objects ProjectSpents....

问题是我想从clean_file编辑ProjectSpents的内联值,但是有一个问题,因为在clean_file和新的内联值之前,queryset已经满了 shoiwing。也许有另一种解决方案?

1 个答案:

答案 0 :(得分:0)

尝试覆盖模型管理方法save_formset。您可以遍历formset实例以删除现有内联,然后访问form.cleaned_data['file']并创建新的相关实例。