Пытаюсь сделать приложение - редактор главной страницы сайта-витрины. На главной странице должно отображаться максимум 9 товаров. Но пользователю хочу выводить выбор с номерами позиций не больше, чем номер следующей доступной ячейки. Допустим, пользователь добавил уже 3 товара, значит для выбора должно выводится максимально 4 позиция, три позиции для замены и четвёртая для нового товара.
class ItemOnMainPageForm(forms.Form):
item_on_main_page = forms.ModelChoiceField(
queryset=Item.objects.all(),
label='Выберете товар'
)
position = forms.TypedChoiceField(
choices=[
(1, 1), (2, 2), (3, 3),
(4, 4), (5, 5), (6, 6),
(7, 7), (8, 8), (9, 9)
],
coerce=int,
label='Позиция на главной'
)
Текущая реализация позволяет выводить сразу все 9 ячеек для выбора. Какой подход можно использовать для изменения этого поведения и заставить поле
position
быть динамическим и соответствовать состоянию системы? Подозреваю, что надо использовать какой-то обходной путь, так как класс читается один раз при старте сервере, но какой?