以下是我表格的代码:
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中使用的值过滤数据:
但是当我访问ConsummerForm
时,我得到了一个错误:
看起来,对于Django,我尝试处理多个模型
那么,如何过滤choicefield消费者的数据呢?在
将QuerySet传递给form而不是模型实例: https://docs.djangoproject.com/en/1.5/topics/forms/modelforms/
相关问题 更多 >
编程相关推荐