Значения радиокнопок Django в представлениях
Я использую радиокнопки в формах django для записи полей пола объекта Person, как показано ниже.
Модель человека
class Person(models.Model):
GENDER = [
('MALE','Male'),
('FEMALE','Female')
]
first_name = models.CharField(max_length=200, null=True)
last_name = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
gender = models.CharField(choices=GENDER, null=True, blank=True, max_length=30)
My PersonForm
class PersonForm(forms.ModelForm):
GENDER = [
('MALE','Male'),
('FEMALE','Female')
]
first_name = forms.CharField(label="First Name")
last_name = forms.CharField(label="Last Name")
email= forms.CharField(label="Email")
gender = forms.ChoiceField(
label='Gender',
choices=GENDER,
widget=forms.RadioSelect(),)
class Meta:
model = Client
fields = ['first_name', 'last_name','email','gender']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def clean(self, *args, **kwargs):
cleaned_data = super(PersonForm, self).clean()
return cleaned_data
Тогда мой create_person_view(()
def create_person_view(request):
if request.method == 'POST':
form = PersonForm(request.POST)
if form.is_valid():
form.save():
return render(request, 'person/view_persons.html')
else:
form = PersonForm()
return render(request, "person/create_person.html", {"person_form": form})
Теперь я сохраняю форму и она сохраняется нормально. Проблема возникает при получении сохраненных данных из базы данных и передаче их в шаблоны.
Конкретно когда я делаю
Gender: {{person.gender}}
Это дает:
Gender: <django.forms.fields.ChoiceField object at 0x7fd82ae866a0>
Я хочу отобразить реальное значение пола. Любая помощь? Буду очень признателен.