2013-04-04 2 views
0

Я хочу динамически изменять требуемый атрибут в полях формы. Причина этого заключается в том, что пользователь может выбрать «Тот же адрес, что и предыдущий пользователь», да/нет.Django динамически меняет требуемое свойство на формы

Если да, то он скрывает поля на интерфейсе, и я хочу, чтобы поля, которые по умолчанию не требуются, не требуются при проверке/обработке модели.

+0

Я пробовал решение 1. дано в ответе Ноя –

ответ

3

Вот очень приятное обсуждение этой темы в целом: Dynamic form requirements in Django.

Если вы хотите сделать что-то очень простое, есть две очень простые способы, которые я могу думать:

  1. Установите поле не требуется и использовать пользовательский чистую функцию, чтобы проверить, что она существует когда он должен существовать. (Если вы хотите, чтобы звездочка появлялась после названия поля, просто используйте простой javascript.)
  2. У вас есть две разные формы: одна с нужным полем и одна без нее - и используйте javascript для отображения правильной формы.

Первое решение, очевидно, намного проще для того, что вы просили, но если вы хотите сделать что-то еще более сложное, вы можете предпочесть второй вариант.

+0

Спасибо за ссылку, я пробовал 1. Но я не хотел добавлять звездочку с JS, поскольку она казалась больше работающей и не очень хорошо сочеталась с текущая логика .. –