Federico Aguirre
Federico Aguirre

Reputation: 316

pass request.user.id from view to form does not work :(

views.py

def RealStateView(request):
    form = RealStateForm(request.user)

forms.py

class RealStateForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
    request = kwargs.pop('request')
    super(RealStateForm, self).__init__(*args, **kwargs)
    self.fields['user_id'].initial = request.user.id


class Meta:
    model = RealState
    exclude = ["owner"]
    fields = '__all__'

def clean_acquisition_value(self):
    message = self.cleaned_data['acquisition_value']

    if message < 10:
        raise ValidationError('No puede ser cero')
    return message

the error says:

Exception Type: KeyError
Exception Value: 'request'

I've tried other ways without success results.. Any idea?

Upvotes: 0

Views: 423

Answers (1)

Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams

Reputation: 799240

You aren't passing a keyword argument called "request" to the constructor. Instead, you are passing a positional argument with the value of request.user.

form = RealStateForm(request=request)

Upvotes: 2

Related Questions