Size: a a a

Django [ru] #STAY HOME

2020 October 09

VD

Vitaliy Derbentsev in Django [ru] #STAY HOME
Ну, можно и так, если логика нужна именно такая. А унаследованный save вызывать не забываешь?
источник

ЯК

Ярослав Коробейников... in Django [ru] #STAY HOME
Есть ли возможность как-то разрулить LoginRequiredMixin, PermissionRequiredMixin чтобы если пользователь незалогиннеый попытался попасть куда-то, то его редиректило на логинку, а если залогиненный пользователь просто не имеет прав для этой вьюхи, то там какое-т осообщение выглядывало?
А то ставишь raise_exception = True и он неважно был ты залогинен или нет начнёт показывать сообшение, а если ты был залогинен, то начнёт редиректить на логинку если пытаешь попасть куда не надо
источник

ЯК

Ярослав Коробейников... in Django [ru] #STAY HOME
Ярослав Коробейников
Есть ли возможность как-то разрулить LoginRequiredMixin, PermissionRequiredMixin чтобы если пользователь незалогиннеый попытался попасть куда-то, то его редиректило на логинку, а если залогиненный пользователь просто не имеет прав для этой вьюхи, то там какое-т осообщение выглядывало?
А то ставишь raise_exception = True и он неважно был ты залогинен или нет начнёт показывать сообшение, а если ты был залогинен, то начнёт редиректить на логинку если пытаешь попасть куда не надо
Есть встроенная возможность, может ещё один из грёбанных 100500 миксинов, переписать то под себя методы я могу. Или унаследовать и слегка подправить логику. Но вдруг я велосипед опять изобретаю грёбаный
источник

S

Shodmon in Django [ru] #STAY HOME
Ярослав Коробейников
Есть встроенная возможность, может ещё один из грёбанных 100500 миксинов, переписать то под себя методы я могу. Или унаследовать и слегка подправить логику. Но вдруг я велосипед опять изобретаю грёбаный
Порядок какой миксинов?
источник

СГ

Саша Горелик... in Django [ru] #STAY HOME
Vitaliy Derbentsev
Ну, можно и так, если логика нужна именно такая. А унаследованный save вызывать не забываешь?
вызываю, упростил еще, но то же самое, в стандартной админке кликаю на сохранить, вылезает исправьте ошибку "обязательное поле

   def save(self, *args, **kwargs):
       self.title = self.film.title
       super().save(*args, **kwargs)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Nikolay Cherniy
я понимаю что это жжж не спроста и я сам где-то наговнокодил, но понять бы где)
Эх, ну конечно при ctrl-c ctrl-v передал сериализатору сейв с этим полем, и блин, ну как можно было не догадаться )))
источник

S

Shodmon in Django [ru] #STAY HOME
Nikolay Cherniy
Эх, ну конечно при ctrl-c ctrl-v передал сериализатору сейв с этим полем, и блин, ну как можно было не догадаться )))
Хех)
источник

ЯК

Ярослав Коробейников... in Django [ru] #STAY HOME
Shodmon
Порядок какой миксинов?
class SomeFuckingViewView(LoginRequiredMixin, PermissionRequiredMixin)
источник

ПП

Панда Панпан... in Django [ru] #STAY HOME
Добрый день. Можно ли в джанго поставить условие на сохранения значения поля модели? Мне нужно чтобы значения поля было True, только тогда, когда значение другого поля Null
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Панда Панпан
Добрый день. Можно ли в джанго поставить условие на сохранения значения поля модели? Мне нужно чтобы значения поля было True, только тогда, когда значение другого поля Null
constraint
источник

СГ

Саша Горелик... in Django [ru] #STAY HOME
Саша Горелик
вызываю, упростил еще, но то же самое, в стандартной админке кликаю на сохранить, вылезает исправьте ошибку "обязательное поле

   def save(self, *args, **kwargs):
       self.title = self.film.title
       super().save(*args, **kwargs)
а, наверное дело в том что self.film.title ведь тоже еще не существует до сохранения) Но film.title существует, тогда  как к нему обратиться при сохранении?)
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Denis Taranov
constraint
или переопределить clean
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Denis Taranov
или переопределить clean
Или и то и другое)
источник

ПП

Панда Панпан... in Django [ru] #STAY HOME
Denis Taranov
constraint
Спасибо посмотрю
источник

VD

Vitaliy Derbentsev in Django [ru] #STAY HOME
Саша Горелик
вызываю, упростил еще, но то же самое, в стандартной админке кликаю на сохранить, вылезает исправьте ошибку "обязательное поле

   def save(self, *args, **kwargs):
       self.title = self.film.title
       super().save(*args, **kwargs)
А! Дык, и будет вылазить. Валидация-то проводится до save, и если валидатору сказали, что поле обязательное, он будет требовать наличия данных из формы. А до save, где полю присваивается резервное значение, дело даже не доходит.
Раз уж резервное значение предусмотрено, и оно всегда гарантированно будет в наличии, то требование required можно убрать. Даже нужно. По сути, поле-то обязательного заполнения уже не требует, теперь оно само заполнится, в случае чего.
источник

ЯК

Ярослав Коробейников... in Django [ru] #STAY HOME
Ярослав Коробейников
Есть встроенная возможность, может ещё один из грёбанных 100500 миксинов, переписать то под себя методы я могу. Или унаследовать и слегка подправить логику. Но вдруг я велосипед опять изобретаю грёбаный
источник

VD

Vitaliy Derbentsev in Django [ru] #STAY HOME
Vitaliy Derbentsev
А! Дык, и будет вылазить. Валидация-то проводится до save, и если валидатору сказали, что поле обязательное, он будет требовать наличия данных из формы. А до save, где полю присваивается резервное значение, дело даже не доходит.
Раз уж резервное значение предусмотрено, и оно всегда гарантированно будет в наличии, то требование required можно убрать. Даже нужно. По сути, поле-то обязательного заполнения уже не требует, теперь оно само заполнится, в случае чего.
Т.е., можно сказать ему, что blank=True
источник

ЯК

Ярослав Коробейников... in Django [ru] #STAY HOME
Прийёдтся видимо мне велосипедить
источник

S

Shodmon in Django [ru] #STAY HOME
Ярослав Коробейников
Прийёдтся видимо мне велосипедить
Так у тебя в fbv сначала перм идёт потом логин рек, а в cbv наоборот
источник

ЯК

Ярослав Коробейников... in Django [ru] #STAY HOME
Shodmon
Так у тебя в fbv сначала перм идёт потом логин рек, а в cbv наоборот
Помоему это просто джанга 1.11 так себя ведёт и это типа норма, судя по треду на стаке это исправили в 2 версии
источник