Как установить placeholder для целочисленного поля django

У меня есть типовая форма:

class CaseForm(ModelForm):
    class Meta:
        model = Case
        fields = ["sex", "age"]

С соответствующей моделью:

class Case(TimeStampedModel):
   id = models.UUIDField(
        primary_key=True, unique=True, default=uuid.uuid4, editable=False
    )

    user = models.ForeignKey(
        get_user_model(), blank=False, null=True, on_delete=models.SET_NULL)
    
    age = models.IntegerField("Age")
    SEX_CHOICES = [
                ("male", "Male"),
                ("female", "Female"),
                ('', "Sex")
    ]

    sex = models.CharField("Sex", max_length=20, choices=SEX_CHOICES, blank=False)

Это отображает заполнитель 'Sex' для одного поля, и я хочу отобразить аналогичный заполнитель для 'Age'.

Один из методов, который я видел, следующий:

class CaseForm(ModelForm):
    age = IntegerField(label='Age', widget=TextInput(attrs={'placeholder': 'Age'}))
    class Meta:
        model = Case
        fields = ["sex", "age"]

Однако, когда это отображается, хотя 'Age' присутствует в качестве заполнителя, поле больше не ведет себя как целочисленное поле.

Любой совет по правильному методу приветствуется

Виджет по умолчанию для IntegerField() - NumberInput, поэтому:

class CaseForm(ModelForm):
    age = IntegerField(label='Age', widget=NumberInput(attrs={'placeholder': 'Age'}))
    class Meta:
        model = Case
        fields = ["sex", "age"]
Вернуться на верх