У меня есть select
, созданный в HTML-коде. Я хочу переделать это через формы Django. Как я могу это сделать? Мой подтвержденный код в forms.py
не работает. Форма всегда недействительна.
views.py
contractors = cache.get('contractors')
if not contractors:
contractors = Contractors.objects.values_list('name', flat='True')
cache.set('contractors', contractors, 3600)
Html-код
<select name="contractorName" class="form-control" id="id_contractorName">
option value="" selected="">---</option>
{% for contractor in contractors %}
<option value="{{ contractor }}">{{ contractor }}</option>
{% endfor %}
</select>
models.py
class Contractors(models.Model):
id = models.IntegerField(blank=True, null=False, primary_key=True)
name = models.CharField(max_length=255, blank=True, null=True)
class Meta:
managed = False
db_table = '"processing"."contractor"'
forms.py
class SearchForm(forms.Form):
date1st = forms.DateField(required=False)
date2st = forms.DateField(required=False)
numberPayment = forms.CharField(required=False)
numberPhone = PhoneNumberField(region='RU', required=False)
#contractorName = forms.ModelChoiceField(queryset=Contractors.objects.values_list('name', flat='True'), required=False)
status = forms.ChoiceField(choices=(('', '----'),("success", "success"), ("decline", "decline"), ("refund", "refund")), required=False)