Size: a a a

Django [ru] #STAY HOME

2019 August 25

M

Mihail in Django [ru] #STAY HOME
да. Чтобы было понятно, я создал кнопку свою https://books.agiliq.com/projects/django-admin-cookbook/en/latest/custom_button.html.
источник

M

Mihail in Django [ru] #STAY HOME
вот при её нажатии у меня должна по-другому немного валидация полей происходить
источник

M

Mihail in Django [ru] #STAY HOME
причем валидация полей inline-объектов
источник

DT

Dan Tyan in Django [ru] #STAY HOME
так request.POST и так передается в форму
источник

DT

Dan Tyan in Django [ru] #STAY HOME
должны по крайней мере
источник

KD

Konstantin Degtyarev in Django [ru] #STAY HOME
Кто-нибудь юзает годные аналоги upload image crop в админке? Порекомендуете? Большое спасибо.
источник

M

Mihail in Django [ru] #STAY HOME
Dan Tyan
так request.POST и так передается в форму
мне надо получить request в методах типо clean_поле(self). Я что-то не нашёл в стеке вызовов метод, который бы принимал request и вызывал эти методы
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Mihail
мне надо получить request в методах типо clean_поле(self). Я что-то не нашёл в стеке вызовов метод, который бы принимал request и вызывал эти методы
тебе request зачем ?
источник

M

Mihail in Django [ru] #STAY HOME
Dan Tyan
тебе request зачем ?
чтобы распознать сохранение именно после нажатия на кастомную кнопку
источник

DT

Dan Tyan in Django [ru] #STAY HOME
но данные же приходят в POST которые ты потом передаешь в ModelForm
request тебе там зачем ?
источник

M

Mihail in Django [ru] #STAY HOME
Dan Tyan
но данные же приходят в POST которые ты потом передаешь в ModelForm
request тебе там зачем ?
каким образом я их передаю в ModelForm до вызовов clean_поле методов?

Через request.POST я хочу достать заголовок, который говорит о том, что сохранение происходит по нажатию на кастомную кнопку.

Или тебе нужно тонкости функционала рассказать, почему при нажатии на кнопку у меня должна происходить немного другая валидация?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
у тебя примерно такой код

form = ModelForm(request.POST)

if form.is_valid():



form = ModelForm(request.POST) - тут ты передаешь данные
form.is_valid() - тут проходит валидация

те все данные уже в твоей форме

помимо clean_FIELD должен быть общий clean() в нем должны быть все данные

в крайнем случае
переопредели __init__ формы
и делай с данными что нужно
источник

M

Mihail in Django [ru] #STAY HOME
Dan Tyan
у тебя примерно такой код

form = ModelForm(request.POST)

if form.is_valid():



form = ModelForm(request.POST) - тут ты передаешь данные
form.is_valid() - тут проходит валидация

те все данные уже в твоей форме

помимо clean_FIELD должен быть общий clean() в нем должны быть все данные

в крайнем случае
переопредели __init__ формы
и делай с данными что нужно
form = ModelForm(request.POST) —  ничего себе! Правильно ли я понимаю, что это так можно использовать из ModelAdmin?
источник

M

Mihail in Django [ru] #STAY HOME
аа, понял. Это в представлении похоже...
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Mihail
form = ModelForm(request.POST) —  ничего себе! Правильно ли я понимаю, что это так можно использовать из ModelAdmin?
а где то упустил что речь идет про админку
источник

M

Mihail in Django [ru] #STAY HOME
Dan Tyan
а где то упустил что речь идет про админку
да, про админку
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Mihail
да, про админку
форма своя ?
источник

M

Mihail in Django [ru] #STAY HOME
Dan Tyan
форма своя ?
ага
источник

M

Mihail in Django [ru] #STAY HOME
в ModelAdmin через form указал
источник

M

Mihail in Django [ru] #STAY HOME
в ней и произвожу валидацию
источник