Найти - Пользователи
Полная версия: ModelChoiceField. Вопрос
Начало » Django » ModelChoiceField. Вопрос
1
securelord
Для вывода в форму всех пользователей в виде выпадающего списка я использую

users = User.objects.all()
class EditForm(forms.Form):
user_work =forms.ModelChoiceField(queryset=users, label="Пользователь")
<form action="/redo/" method="POST">
<table>
{{ form.as_table }}
</table>
<p><input type="submit" value="Submit"></p>
</form>
        form = EditForm(initial={'id'     : redo_list.id,
'user_work' : request.user.username})
В выпадающем списке отображаются все пользователи (т.е. поле username).
Но когда я передаю эту же самую форму в какой нибудь вьювер, то в request.POST попадает не username а id. Измененная форма валидируется нормально, данные из нее можно сохранить, но мне нужно получать не id из нее а username в явном виде.
Александр Кошелев
А причем тут RequestContext?

Если вы работаете с формой, то работайте с ней до конца и не докапывайтесь до POST данных вручную. После валидации формы в form.cleaned_data будет объект выбранного пользователя, из которого вы с легкостью получите username.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB