Django替换lis中字段的窗体小部件

2024-09-27 00:18:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试将小部件更改为名称中包含字符串的窗体中的字段,我尝试执行以下操作:

class CI_tableForm(ModelForm):
        class Meta:
            model = CI_table
            fields = report_query_values
            for field in report_query_values:
                if "_id" in field:
                    field = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple)

不确定是否可能。 目前它没有出错,但也不会更改小部件。你知道吗

谢谢你, 以撒


Tags: 字符串inreport名称cifield部件forms
1条回答
网友
1楼 · 发布于 2024-09-27 00:18:23

您应该在__init__构造函数中执行此操作:

class CI_tableForm(ModelForm):

    class Meta:
        model = CI_table
        fields = report_query_values

    def __init__(self, *args, **kwargs):
        super(CI_tableForm, self).__init__(*args, **kwargs)
        for field in report_query_values:
            if "_id" in field:
                choices = self.fields[field].widget.choices
                self.fields[field].widget = forms.CheckboxSelectMultiple(
                                                             choices=choices)

相关问题 更多 >

    热门问题