class ItemOnMainPageForm(forms.Form):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
current_items_quantity = ItemOnMainPage.objects.count()
self.fields['position'].choices = [
(i, i) for i in range(1, current_items_quantity + 2)
]
item_on_main_page = forms.ModelChoiceField(
queryset=Item.objects.all(),
label='Выберете товар'
)
position = forms.TypedChoiceField(
coerce=int,
label='Позиция на главной'
)
Только не очень понятно почему только pk=1
почему в try-except вы обернули попытку доступа к userprofile
Еще считается, что except без указания конкретных классов обрабатываемых исключений это bad practice.