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

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

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

15 ответов

16 просмотров

Надо самому строить форму, на основе 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

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

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

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

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Карта сайта