次のような非常に単純な 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 管理者を介して) 新しいカテゴリ オブジェクトを作成し、それを保存しても、Apache を再起動するまで、フォームの ChoiceField で使用されているカテゴリ タプルが更新されません。
誰がこれを引き起こしているのか知っていますか?
前もって感謝します!