Как преобразовать выпадающую колонку выбора в текстовое поле в формах Django
Я пытаюсь сделать форму регистрации пациента в моем проекте, где Django автоматически предоставляет выпадающий список выбора для столбцов внешнего ключа. Как мне превратить эту колонку в текстовое поле, поскольку мне нужно, чтобы пользователь вводил id пациента, а не выбирал из длинного выпадающего списка. Я попробовал кое-что, но это не сработало. Пожалуйста, помогите, если это возможно.
from django import forms
from HMSapp.models import Registration
from django.core.exceptions import ValidationError
class RegistrationForm(forms.ModelForm):
Pid=forms.CharField()
class Meta:
model=Registration
fields='__all__'
def clean_Pid(self):
patient_id=self.cleaned_data['Pid']
try:
Pid=Registration.objects.get(id=patient_id)
return Pid
except:
raise ValidationError('Patient id does not exist')
=== использование формы =====
Pid=forms.CharField(widget=forms.Select(attrs={'class':'form-control'}))
=== использование ModelForm ====
widgets= {
'Pid':forms.Select(attrs={'class':'form-control'})
}