v
написал:
>
> Так перестает работать первоначальная задача
>
> четверг, 30 апреля 2020 г., 18:14:38 UTC+2 пользователь hend hend написал:
>>
>> Не совсем понимаю, это init какого класса...Но можно попробовать так:
>> def __init__(self, *args, **kwargs):
>>
Это init какой формы?..контроллер о котором мы говорим связан с
формой OrderForm насколько я понял..
четверг, 30 апреля 2020 г., 20:00:57 UTC+3 пользователь Sergei Sokov
написал:
>
> Так перестает работать первоначальная задача
>
> четверг, 30 апреля 2020 г., 18:14:38 UTC+2 польз
n unexpected keyword argument 'user'
>
>
> Я так понимаю потому что во views.py вот это
>
> def get_form_kwargs(self):
> kwargs = super(OrderNewBigPrintView, self).get_form_kwargs()
> kwargs['user'] = self.request.user
> return kwargs
>
>
>
как тогда?
> self.fields['name_job'].queryset = TypJob.objects.filter(author__id=
> self.user.id)
> как тогда фильтр будет работать?
>
> среда, 29 апреля 2020 г., 20:36:00 UTC+2 пользователь hend hend написал:
>>
>> *Не нужно нигде в классе формы обращаться к '
*Не нужно нигде в классе формы обращаться к 'self.user'. *
среда, 29 апреля 2020 г., 19:49:45 UTC+3 пользователь Sergei Sokov написал:
>
> без self такая ошибка
>
> 'OrderForm' object has no attribute 'user'
>
>
> среда, 29 апреля 202
from kwargs
user = kwargs.pop('user', None)
super().__init__(*args, **kwargs)
# set 'name_job' queryset
self.fields['name_job'].queryset = TypJob.objects.filter(author__id=
user.id)
среда, 29 апреля 2020 г., 17:19:41 UTC+3 пользователь Sergei Sok
вторник, 28 апреля 2020 г., 19:56:37 UTC+3 пользователь Sergei Sokov
написал:
>
> forms.py
> class OrderForm(forms.ModelForm):
> class Meta:
> model = Order
> name_job = forms.ModelMultipleChoiceField(queryset=None)
> def __init__(self, *args, **kwargs):
> super().__i
>> class OrderNewBigPrintView(LoginRequiredMixin, CustomSuccessMessageMixin,
>> CreateView):
>> model = Order
>> template_name = 'new_order_bp.html'
>> form_class = OrderForm
>> success_url = reverse_lazy('orders')
>> success_msg = 'Ok'
>>
>
# get_initial позво
user.id надо брать из request объекта в контроллере request.user.id. В том
же контроллере метод get_initial() позволяет инициализировать поля
формы(указанной в аттрибуте "form_class")контроллера.
Например:
def get_initial(self):
# поле category формы будет установлено в результат
9 matches
Mail list logo