GeraJet
@GeraJet
Anykey

Как в django.forms получить request.user.id?

forms.py
class WorkForm(forms.Form):
	road = forms.ModelChoiceField(
		label='Выберите объект', 
		queryset=Roads.objects.filter(contractor=request.user.id))

т.е. залогиненный юзер должен выбирать из своих объектов, но
name 'request' is not defined
  • Вопрос задан
  • 3269 просмотров
Решения вопроса 1
@tplus
Определите свой __init__, куда параметром отдавайте нужное.

class WorkForm(forms.Form)

    road = forms.ModelChoicField(label='', queryset=Road.objects.none())

    def __init__(self, *args, **kwargs):
        user_id = kwargs.pop('user_id', None)

        super(WorkForm, self).__init__(*args, **kwargs)

        self.fields['road'].queryset = Roads.objects.filter(contractor=user_id)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zelsky
@zelsky
Roads.objects.filter(contractor=request.user.id))
А разве ви не из базьі питаетесь вьітянуть айди пользователя ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы