Size: a a a

Django [ru] #STAY HOME

2020 May 03

h

hunnidolla in Django [ru] #STAY HOME
nea)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
?
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Artem Gubatenko
я думаю, форма отсеивает твое form.instance.author, т.к. его нет в полях, а модель требует это поле. Вот и ошибка
попробовал, не помогло. та же ошибка валидации
источник

yh

yasya huyase in Django [ru] #STAY HOME
yasya huyase
такой вопрос
есть MultipleChoiceField юзеров
как в шаблоне передать option'ам select'а user.first_name?
уже нашел
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
тут таже самая беда
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
from django.views.generic import CreateView

from .forms import ArticleForm


class ArticleCreateView(CreateView):
   form_class = ArticleForm
   template_name = 'forms/article_create.html'

   def form_valid(self, form):
       form.instance.author = self.request.user
       form.save()
       return super().form_valid(form)
источник

h

hunnidolla in Django [ru] #STAY HOME
бред
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Boris Krutskih
попробовал, не помогло. та же ошибка валидации
в форме переопределяй метод is_valid() и принтуй, после super, что там в self.cleaned_data
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Boris Krutskih
from django.views.generic import CreateView

from .forms import ArticleForm


class ArticleCreateView(CreateView):
   form_class = ArticleForm
   template_name = 'forms/article_create.html'

   def form_valid(self, form):
       form.instance.author = self.request.user
       form.save()
       return super().form_valid(form)
save формы происходт в ролительском form_valid
источник

h

hunnidolla in Django [ru] #STAY HOME
Boris Krutskih
тут таже самая беда
если че  этот код из прода
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Boris Krutskih
тут таже самая беда
ну правильно, в form_valid(), форма приходит если валидна
https://github.com/django/django/blob/b9cf764be62e77b4777b3a75ec256f6209a57671/django/views/generic/edit.py#L123

нужно раньше назначить автора
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Boris Krutskih
тут таже самая беда
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Artem Gubatenko
ну правильно, в form_valid(), форма приходит если валидна
https://github.com/django/django/blob/b9cf764be62e77b4777b3a75ec256f6209a57671/django/views/generic/edit.py#L123

нужно раньше назначить автора
так, а в этом куске, разве сперва не назначается автор, а потом форма сейвится?
 def form_valid(self, form):
       form.instance.author = self.request.user
       form.save()
       return super().form_valid(form)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Boris Krutskih
так, а в этом куске, разве сперва не назначается автор, а потом форма сейвится?
 def form_valid(self, form):
       form.instance.author = self.request.user
       form.save()
       return super().form_valid(form)
перед сохранением форма должна пройти валидацию, а она не проходит и в этот метод даже не попадает
источник

I

Ilya in Django [ru] #STAY HOME
Boris Krutskih
так, а в этом куске, разве сперва не назначается автор, а потом форма сейвится?
 def form_valid(self, form):
       form.instance.author = self.request.user
       form.save()
       return super().form_valid(form)
Вчера такой же трабл был, тут подсказали, решил вот таким способом
источник

h

hunnidolla in Django [ru] #STAY HOME
ну от этого она не перестает работать в проде
источник

I

Ilya in Django [ru] #STAY HOME
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
кажись код всётаки рабочий, проблема видимо с самой формой, оставил одно поле title, и всё ок публикуется
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Boris Krutskih
кажись код всётаки рабочий, проблема видимо с самой формой, оставил одно поле title, и всё ок публикуется
то есть остальные поля тебе не нужны?)
источник

BK

Boris Krutskih in Django [ru] #STAY HOME
Artem Gubatenko
то есть остальные поля тебе не нужны?)
нужны) просто сейчас пытаюсь понять какое поле всё портит)
источник