В models.py у меня есть

class myModel:
    period = models.CharField(max_length = 100, blank=True)

period должен содержать что-то вроде: DD:HH:MM:SS.

В шаблоне HTML я хочу, чтобы это поле находилось в четырех разных полях ввода текстового поля. Есть ли способ сделать это в Django?

3
iman 27 Авг 2014 в 12:52

1 ответ

Лучший ответ

Это хорошо документировано: вам необходимо создать подкласс of forms.MultiValueField, который реализует метод compress, который возвращает объединенное значение полей. Обратите внимание, что SplitDateTimeField уже существует, но в нем есть только два отдельных поля для каждой даты и времени.

2
9769953 2 Дек 2021 в 13:38
Хорошо, я пробую это. Но при создании подкласса forms.MultiValueFied я получил такие ошибки, как: AttributeError: объект «SplitPeriodField» не имеет атрибута «render». вдохновился этим примером stackoverflow.com/questions/8386101/…
 – 
iman
27 Авг 2014 в 14:00
Я не могу помочь, не увидев ваш код или трассировку. Но похоже, что вы используете поле, в котором вы должны использовать виджет.
 – 
Daniel Roseman
27 Авг 2014 в 14:07
Спасибо, это работает. Но я хочу, чтобы входные данные поля разделения были горизонтальными? Какие-либо предложения ?
 – 
iman
27 Авг 2014 в 15:16
Но что, если я хочу сделать обратное. например - stackoverflow.com/questions/57288620/… или stackoverflow.com/questions/57265650/…
 – 
Underoos
31 Июл 2019 в 13:40