Передача жестко закодированного значения поля template select в модель django параллельно с полями modelform

У меня есть класс модели контакта и соответствующий ему modelForm:

# models.py

class Contact(models.Model):
    name = models.CharField(max_length=32, blank=False)
    email = models.EmailField()
    subject = models.CharField(max_length=32, blank=False)
    message = models.TextField(max_length=256, blank=False)

    def __str__(self):
       return self.email

  # forms.py

class ContactForm(forms.modelForm):
    class Meta:
        model = Contact
        fields = ('name', 'email', 'message',) 

У меня есть соответствующий views.py и шаблон, из которого я успешно отправляю и сохраняю данные формы в моей модели Contact.

# views.py

def contact(request):

    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
           form.save()

            email_subject = f'New contact {form.cleaned_data["email_address"]}: {form.cleaned_data["name"]}'
            email_message = form.cleaned_data['message']
            send_mail(email_subject, email_message, settings.CONTACT_EMAIL, settings.ADMIN_EMAIL)
        return redirect('home')

    form = ContactForm()
    context = {'form': form}
    return render(request, 'web_page/contact_page.html', context)

Однако, поскольку мое поле subject жестко закодировано и состоит из множества значений из тега html select с name="subject" и несколькими десятками опций, я хочу разместить его вместе с файлами modelForm и сохранить соответствующее значение в моей таблице Contact. Возможно ли это? Я просто хочу избежать внесения всех этих существующих записей в forms.py в качестве CHOICE моего поля subject.

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

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