如何使用自定义表单在django admin中构建值?

时间:2012-03-01 20:17:27

标签: django django-forms django-admin

如何通过将一个字符串连接起来,将检查字段更改为从3个ChoiceField构造值的自定义字段?

最初在管理员中我有:

class QuestionAdmin(admin.ModelAdmin):   
    fieldsets = [
        (_('Question'),  {'fields': ['id','text'...etc]}),
        (_('Checks'),  {'fields': ['checks']}),
    ]

adminsite.register(Question, QuestionAdmin)

我理解我需要在QuestionAdmin类中朝这个方向做一些事情(不可用的代码如下):

def get_form(request, obj=None, **kwargs):
    if not obj:
        #here I need to get my custom form with 3 choicefields and add them to fieldsets
        self.fieldsets.append((None, {fields: ['choice_part_1', 'choice_part_2', 'choice_part_3']}))
    return super(QuestionAdmin, self).get_form(request, obj=None, **kwargs)

然后我必须''。在某些时候加入选定的值并使用结果值作为检查字段输入...

选择字段的选择不在任何模型中,所以我需要使用form.Form吗?

任何人都可以解释如何实现这一目标吗? (我需要这种方法,否则我最终会改变很多代码)

感谢。

1 个答案:

答案 0 :(得分:1)

看一下MultiValueField,它允许在几个小部件中拆分一个字段。