170 похожих чатов

Привет, народ! У меня есть модель Пассажира, которая имеет связь

1to1 на модель CustomUser. Как мне отобразить поля основной модели и связанной в одной форме? Не могу найти в гугле инфу по 1to1 связи. Или не так ищу( Киньте ссылку где про это почитать.

15 ответов

19 просмотров

Надо самому строить форму, на основе forms.Form

Василий- Автор вопроса

Правильно ли я понимаю: нужно добавлять поля в форму, которых нет в модели, и обрабатывать их во вьюхе отдельно?

Да. обрабатывать можно также в форме.

Василий- Автор вопроса

А можно ссылку на пример. Буду очень благодарен. Как обрабатывать в форме не понятно(

https://docs.djangoproject.com/en/3.1/topics/forms/modelforms/#the-save-method в этом методе доступны данные формы после валидации. Можешь делать с ними что нужно.

в clean() можно проверять данные и регистрировать ошибки в save() работать с пришедшими данными (метод будет вызван, если пройдена валидация)

Вы можете переопределить admin / change_form.html. Скопируйте версию из contrib.admin.templates в свой проект. Мой - myproject / templates / admin / change_form.html, но вы можете использовать /myproject/myapp/templates/admin/change_form.html. Затем отредактируйте копию и измените две ссылки на существующий тег шаблона, {% submit_row%}, чтобы они указывали на ваш собственный тег шаблона, {% my_template_tag%}. Создайте свой тег шаблона на {% submit_row%} contrib.admin, но отредактируйте HTML-шаблон, чтобы он содержал любые дополнительные кнопки, которые вы хотите отобразить.

Я нашел один простой способ добавить кнопки - добавить еще одну строку для настраиваемых кнопок. Создайте административный каталог в своем каталоге шаблонов в соответствии с вашими потребностями. Например, я обычно добавляю кнопки для определенных моделей в собственный шаблон. Создайте каталог "templates / admin / app / model /". Затем добавьте файл change_form.html. {% extends "admin / change_form.html"%} {% load i18n%} {% block submit_buttons_bottom%} <div class = "submit-row"> <input type = "button" value = "{% trans 'Другая кнопка'%}" name = "_ anotherbutton" /> </div> {{block.super}} {% endblock%} Код перед {{block.super}} основан на шаблоне submit_line.html, используемом тегом шаблона {% submit_row%}. Я предпочитаю этот метод, потому что он прост, но вам придется жить с другим рядом кнопок. Или это лучше?

думаю, это пример подмены шаблона. Мне обычно лень весь {% submit_row %} менять, я добавлял свою кнопку в отдельном HTML блоке и настраивал отображение через CSS. Если было нужно, стоковые кнопки прятал через CSS.

templates/admin/account/account_action.html Почему у меня таких путей вообще нет? Или я чего-то не понимаю?

еще многое зависит от админки. У меня django-jet. В своей: изучи структруру в шаблонах

вот пример: https://github.com/django/django/blob/f9cfd346f0222d86bfbac26ef5455806965bae6b/django/contrib/auth/forms.py#L75

я тоже тебя не понял)

Василий- Автор вопроса

БОЛЬШОЕ СПАСИБО! Буду разбираться.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта