Типовое использование ModelChoiceField
:
class DealForm(BaseForm):
deal = forms.ModelChoiceField(required=False, queryset=models.Deal.objects.all(), widget=forms.HiddenInput)
Мне же надо выдавать активные предложения и я делаю так:
class DealForm(BaseForm):
deal = forms.ModelChoiceField(required=False, queryset=models.Deal.objects.active(), widget=forms.HiddenInput)
Внутри метода менеджера модели active()
, я произвожу соответствующую фильтрацию элементов модели.
Всё бы хорошо, но при таком подходе модель "замораживается" на момент старта приложения. То есть, если после этого в модель будет добавлено ещё несколько элементов, то они не будут видны до рестарта проекта. Что не есть хорошо во всех смыслах.
Updated 23 April 2012, 17:18 by RaD.