django 1.8.1中缓存_选项的替代方案,用于消除窗体中的Removedjango 1.9缓存_选项弃用警告
我一直在使用django ModelChoiceField中的cache_choices选项来缓存我的queryset响应,例如:django 1.8.1中缓存_选项的替代方案,用于消除窗体中的Removedjango 1.9缓存_选项弃用警告,django,django-forms,django-1.8,Django,Django Forms,Django 1.8,我一直在使用django ModelChoiceField中的cache_choices选项来缓存我的queryset响应,例如: university = forms.ModelChoiceField(label='University', cache_choices=True, widget=forms.Select( attrs={'class': 'ac-university'}), queryset=University.objects.none(), empty_label=
university = forms.ModelChoiceField(label='University', cache_choices=True, widget=forms.Select(
attrs={'class': 'ac-university'}), queryset=University.objects.none(), empty_label="--- None ---", help_text="", error_messages={'required': 'University field required.'})
我收到了很多警告,比如:
...events/forms.py:400: RemovedInDjango19Warning: cache_choices has been deprecated and will be removed in Django 1.9.
language_prefered = forms.ModelChoiceField(cache_choices=True, widget = forms.Select(attrs = {}), queryset = Language.objects.order_by('name'), empty_label = "--- None ---", error_messages = {'required':'Language field required.'})
我正在寻找一个替代品。任何帮助都将不胜感激。这可能不是您想要的答案,但似乎没有其他选择 从: 当前的
cache\u choices
实现非常无用,因为它不在多个表单之间共享,只在同一表单对象的多个渲染之间共享。这是因为当从form.base\u fields
移动到form.fields
时,我们是如何复制字段的。因此,cache\u选项
As is应该被删除
因此,除非多次渲染同一个表单对象,否则看起来它可能根本没有执行您想要的操作