我想使用以下代碼將自定義字段添加到InlineFormset,但這些字段不會顯示在Django Admin中。 InlineFormset是否被鎖定以允許這個?我的打印「叮」測試按預期發射,我可以打印出form.fields並在那裏看到它們,但實際的字段永遠不會顯示在管理中。如何將自定義字段添加到InlineFormsets?
admin.py
from django.contrib import admin
import models
from django.forms.models import BaseInlineFormSet
from django import forms
from forms import ProgressForm
from django.template.defaultfilters import slugify
class ProgressInlineFormset(BaseInlineFormSet):
def add_fields(self, form, index):
print "ding"
super(ProgressInlineFormset, self).add_fields(form, index)
for criterion in models.Criterion.objects.all():
form.fields[slugify(criterion.name)] = forms.IntegerField(label=criterion.name)
class ProgressInline(admin.TabularInline):
model = models.Progress
extra = 8
formset = ProgressInlineFormset
class ReportAdmin(admin.ModelAdmin):
list_display = ("name", "pdf_column",)
search_fields = ["name",]
inlines = (ProgressInline,)
admin.site.register(models.Report, ReportAdmin)
不是我所希望聽到的,但哦。至少它證實了。 – Soviut 2009-02-09 19:59:49