День добрый. Подскажите, как добавить в форму скрытое поле с определённым значением?
Мне нужно в форме хранить title продукта, который сейчас открыт.
Нашёл такое решение:
title = forms.ModelMultipleChoiceField(
queryset=Room.objects.all())
def __init__(self, *args, room_slug=None, **kwargs):
super(forms.Form, self).__init__(*args, **kwargs)
if room_slug is not None:
self.fields['title'].queryset = Room.objects.filter(
slug=room_slug
)
Но когда форма делает POST-запрос, данного поля там нет.
Сделал так, но сомневаюсь, насколько это хорошее решение?
title = forms.CharField(widget=forms.HiddenInput())
def __init__(self, *args, room_slug=None, **kwargs):
super(forms.Form, self).__init__(*args, **kwargs)
if room_slug is not None:
self.fields['title'].initial = Room.objects.filter(
slug=room_slug
)[0] # 'title': ['<QuerySet [<Room: test room>]>']