Django - виджет формы с флажком для выбора между неограниченным количеством или текстовым полем для числа - PullRequest
2 голосов
/ 11 октября 2010

Я делаю форму в Джанго.Поле для отображения является числовым полем, представляющим некоторый предел.Там может быть никаких ограничений.Вместо того, чтобы заставлять пользователя вводить какое-то странное число, означающее неограниченное (например, -1), я бы хотел, чтобы там была кнопка с двумя опциями: «Без ограничений», а вторая опция - это текстовое поле, в которое пользователь может ввестизначение в.

Исходная модель имеет только IntegerField, который может быть нулевым.Нулевое значение означает неограниченное.Есть ли какой-нибудь способ, которым я могу сделать FormField для этого поля, который будет включать эту функцию флажка?

Я знаю, что могу написать сам HTML вручную, мне интересно, есть ли уже созданное поле / виджет djangoсделаю это.

1 Ответ

1 голос
/ 12 октября 2010

Вы можете сделать так, чтобы форма имела дополнительное поле формы для флажка.И переопределите его методом сохранения, чтобы заполнить поля модели соответственно.Или вы можете создать пользовательский виджет поля формы, который будет содержать оба поля ввода HTML и производить соответствующее значение Python из входных данных и наоборот.Первый вариант проще в реализации и более разумен, если вам нужна эта функциональность только в одной форме.В любом случае, я бы пересмотрел использование нулевого значения для обозначения чего-либо, кроме введенного значения.Вы могли бы сделать так, чтобы поле Integer содержало -1, чтобы означать неограниченное, если все другие указанные пользователем значения могут быть только положительными.Или добавьте другое поле логической модели, чтобы сохранить значение для этого флажка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...