Django FormWizard筛选选项字段

2024-09-30 01:32:09 发布

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

以下是我表格的代码:

class ServiceChoiceForm(forms.ModelForm):

    def activated_services(self):
    """
        get the activated services added from the administrator
    """
    all_datas = ()
    data = ()

        services = ServicesActivated.objects.filter(status=1)
        for class_name in services:
            data = (class_name, class_name.name.rsplit('Service', 1)[1])
            all_datas = (data,) + all_datas
        return all_datas


class ProviderForm(ServiceChoiceForm):

    provider = forms.ChoiceField()
    def __init__(self, *args, **kwargs):
        super(ProviderForm, self).__init__(*args, **kwargs)
        self.fields['provider'].choices = self.activated_services()                

    class Meta:
        model = TriggerService
        fields = ('provider', )


class ConsummerForm(ServiceChoiceForm):

    consummer = forms.ChoiceField()

    class Meta:
        model = TriggerService
        fields = ('consummer', )

在我的views.py中,get_form()中,在第0步,我用我的ProviderForm加载数据,如上面所示,然后在第2步,我使用以下代码加载我的ChoiceField中的数据,并尝试用我在步骤0中使用的值过滤数据:

^{pr2}$

但是当我访问ConsummerForm时,我得到了一个错误:

^{3}$

看起来,对于Django,我尝试处理多个模型

那么,如何过滤choicefield消费者的数据呢?在


Tags: 数据代码nameselffieldsdataserviceforms

热门问题