django管理面板为formset中的每个表单编号

时间:2016-04-27 12:34:14

标签: python django

如何在django管理面板中为formset中的每个表单添加计数。我需要为每个新添加的表格提供下一个号码

class QuestionAnswerInline(admin.TabularInline):
    model = QuestionAnswer
    formset = SetTestQuestionAnswerFormSet
    fields = ('question_answer_text','right_mark')
class QuestionAdmin(admin.ModelAdmin):
    fieldsets = [
                 ...
    ]
    inlines = [QuestionAnswerInline]

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点:

  • 覆盖此特定管理类的编辑视图模板,并使用{{forloop.counter}}在模板中添加枚举。这可能是最简单的方法
  • 覆盖管理员中的formset类,为所有内联表单提供计数器。为了达到这个目的,你需要做很多魔术,但这也是可能的。基本上,您扩展了内联管理类get_formset方法来创建表单,提供计数器数据,然后提供不可编辑的字段来显示该数据。