我有一个非常简单的 Haystack 表单,看起来像这样:
class BasicSearchForm(SearchForm):
category_choices = Category.objects.all()
category_tuples = tuple([(c.id, c.name) for c in category_choices])
category = forms.ChoiceField(choices=category_tuples, required=False)
def search(self):
sqs = super(BasicSearchForm, self).search()
if self.cleaned_data['category']:
if self.cleaned_data['category'] != "*":
sqs = sqs.filter(category__id=self.cleaned_data['category'])
return sqs
然后我有一个像这样的上下文处理器:
def search_form(request):
basic_search = BasicSearchForm()
return { 'basic_search': basic_search }
出于某种原因,创建一个新的类别对象(通过 Django 管理员并保存它)不会更新我在表单的 ChoiceField 中使用的类别元组,直到我重新启动 Apache。
有谁知道这可能是什么原因造成的?
提前致谢!