please help to solve the problem.
There is a table with the data about the user. the table has a related field 'gender'. you want to display a form with a drop-down list to select the gender.
models.py:
class Gender(models.Model):
gender = models.CharField(
max_length=10,
blank=False,
)
class UserProfile(User):
nickname = models.CharField(
'Отображаемое имя',
max_length=30,
blank=False,
)
gender = models.ForeignKey(
Gender,
#default=1,
null=True,
)
views.py:
def personal_data_page(request):
entry_user_profile = UserProfile.objects.get(user_ptr_id__exact=request.user.id)
form = PersonalDataForm(instance=entry_user_profile)
t = loader.get_template('personal_data_page.html')
c = RequestContext(request, {
'form': form,
})
return HttpResponse(t.render(c))
forms.py:
class PersonalDataForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = (
'nickname',
'gender',
)
personal_data_page.html:
<div class="cell">
<label class="label">{{ form.gender.label }}</label>
{{ form.gender }}
{{ form.gender.errors }}
</div>
the problem is that the line outputs
1
. and I need to output is something like:
<select>
<option value="1">Male</option>
<option value="2">Female</option>
</select>