Изменение тире по умолчанию в поле select в формах Django, атрибут empty_label работает для поля ForeignKey, но не для CharField

Я пытаюсь создать форму, которая позволяет тату-салону заказывать консультации. Есть 2 поля выбора: выбор художника и выбор стиля татуировки. Вместо первого варианта поля выбора по умолчанию '--------', я бы хотел, чтобы в них было написано 'Предпочитаемый художник' и 'Стиль татуировки', соответственно.

models.py:

class ConsultationRequest(models.Model):
    tattoo_styles = [
        ('water-color', 'Water Color'),
        ('blackwork', 'Blackwork'),
    ]
    preferred_artist = models.ForeignKey(Artist, on_delete=models.CASCADE) 
    tattoo_style = models.CharField(max_length=50, choices = tattoo_styles ) 

forms.py:

class ArtInformationForm(ModelForm):
    class Meta:
        model = ConsultationRequest
        fields = ['preferred_artist', 'tattoo_style']

    def __init__(self, *args, **kwargs):
        super(ArtInformationForm, self).__init__(*args, **kwargs)
        self.fields['preferred_artist'].empty_label = 'Preferred Artist' # this works
        self.fields['tattoo_style'].empty_label = 'Tattoo Style' # this doesn't work

Когда я отображаю эту форму в шаблоне, первым вариантом для выбора художника является "Предпочитаемый художник", но первым вариантом для выбора стиля татуировки по-прежнему являются черточки по умолчанию. Не знаю точно, почему так происходит. Я думаю, это связано с тем, что это два разных типа полей, одно из которых ForeignKey, а другое CharField. Спасибо за любую помощь в этом вопросе.

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