Создание реализации минутного и часового MultiValueField в формах django

У меня некоторые проблемы с созданием формы в Django, я не знаю, правильны ли мои подходы, поэтому любая помощь, где я должен прочитать, будет оценена по достоинству.

Я хочу показать поле, составленное из двух полей, одно для часов, другое для минут, читая документацию Django я пришел к идее использовать MultiValueField, и я попробовал вот это:

class CreateEventForm(forms.ModelForm):

    class TimeField(forms.MultiValueField):
        def __init__(self, **kwargs):
        
            error_messages = {
                'incomplete': 'Missing info',
            }

            fields = (
                forms.CharField(max_length=64,
                label= "Horas"),
                forms.CharField(max_length=64,
                label="Minutos")
            )
    
            super().__init__(
                error_messages=error_messages,
                require_all_fields=False,
                fields=fields 
            )

journal_start = TimeField()
journal_finish = TimeField()

class Meta:
    model = UserEvent
    fields = ['duration', 'pre_time', 'post_time']
    labels = {
        'duration': 'Duración',
        'pre_time': 'Previo',
        'post_time': 'Después: ',
    }

Но вместо двух разных полей для начала и окончания путешествия у меня только одно, вот картинка вывода enter image description here

Я видел другие вопросы, связанные с MultiValueFields, такие как этот: Django: MultiValueField и MultiWidget и другие примеры: https://gist.github.com/elena/3915748. Но первый говорит о другом предмете, а последний, кажется, использует некоторые библиотеки, которые я не хочу использовать, по крайней мере, сейчас.

Как сделать поле формы Django с двумя входами, используя Model Forms?

Спасибо, что читаете меня!

Вернуться на верх