Django Admin - 自定义内嵌表格
问题描述:
我试图在django管理员中使用自定义内联表单。Django Admin - 自定义内嵌表格
admin.py -
class EmpInline(admin.StackedInline):
model = Emp
form = UpdateYearlyForm
show_change_link = True
class CompanyAdmin(admin.ModelAdmin):
list_display = ('companyname','companyid','get_active', 'get_updated')
inlines = [EmpInline]
当点击公司名称,公司的细节与相关的所有员工一个formset一起显示。
这适用于显示表单,但其中一个字段是间接更新模型字段的自定义选择字段。其中,在普通用户视图中(此表单需要由管理员用于所有记录,用户用于记录与其相关的记录),自定义字段的处理方式如下。
我只显示了一段视图,因为它很长。
views.py -
if formset.is_valid():
for form in formset.forms:
if form.is_valid():
obj = form.save(commit=False)
data = form.cleaned_data
if data['updatefield'] == 'accident':
obj.years += 1
else data['updatefield'] == 'free':
obj.years += 1
obj.save()
有作为在管理员的inlineform使用时的处理相同的方式形式(和自定义字段)的方法吗?
答
如果它帮助任何人 - 覆盖表单本身上的save()函数对此问题进行排序,并且可能更好的做法,因此我更改为在用户和管理员端都使用它。