我试图在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]
点击公司名称后,公司详细信息将与所有相关员工的表单集一起显示。
这适用于显示表单,但其中一个字段是间接更新模型字段的自定义选择字段。在普通用户视图中(此表单需要由管理员用于所有记录,用户用于与其相关的记录),自定义字段的处理方式如下。
我只显示了一段视图,因为它很长。
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()
在管理员中用作内联形式时,有没有办法以相同的方式处理表单(和自定义字段)?
答案 0 :(得分:0)
如果它可以帮助任何人 - 覆盖表单本身的save()函数排序了这个问题,它可能更好地练习,因此我改为在用户和管理员端使用它。