Django MultiValueField и MultiWidget AttributeError: объект 'CharField' не имеет атрибута 'is_hidden'

Я пытаюсь сделать поле, в котором можно выбрать день недели и время этого дня. Я прочитал документ и вот что мне удалось сделать.

class ClassTimeWidgit(forms.MultiWidget):
    def __init__(self, attrs=None) -> None:
        widgets = [forms.CharField(), forms.TimeField()]
        super(ClassTimeWidgit, self).__init__(widgets, attrs)

class ClassTimeField(forms.MultiValueField):
    widget = ClassTimeWidgit

    def __init__(self, **kwargs) -> None:
        f = (
            forms.CharField(widget=forms.Select(choices=[
                    ('Monday', 'Monday'),
                    ('Tuesday', 'Tuesday'),
                    ('Wednesday', 'Wednesday'),
                    ('Thursday', 'Thursday'),
                    ('Friday', 'Friday'),
                    ('Saturday', 'Saturday'),
                    ('Sunday', 'Sunday'),
                ])
            ),
            forms.TimeField(input_formats='%H:%M')
        )
        super().__init__(fields=f, require_all_fields=True, **kwargs)



class RequestCourseForm(forms.ModelForm):
    teacher = forms.ModelChoiceField(queryset=User.objects.filter(profile__teacher_status=True))
    class_count = forms.IntegerField(widget=forms.Select(choices=[(10,10), (20,20)]))
    class_time = ClassTimeField()

    class Meta:
        model = Request
        fields = ['teacher', 'class_count', 'class_time']

Раньше у меня было отдельное поле MultiValueField и оно отображало однострочное текстовое поле, поэтому я добавил класс MultiWidget и он выдает мне эту ошибку AttributeError: 'CharField' object has no attribute 'is_hidden'

Я новичок в Django, пожалуйста, укажите на любые очевидные ошибки, которые вы видите, и дайте мне знать, если есть лучший способ сделать то, что я пытаюсь сделать.

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