Python 如何显示关联的表单字段?
请帮忙解决这个问题 有一个包含用户数据的表。该表有一个相关字段“性别”。您希望显示一个带有下拉列表的表单,以选择性别 models.py:Python 如何显示关联的表单字段?,python,django,python-3.x,Python,Django,Python 3.x,请帮忙解决这个问题 有一个包含用户数据的表。该表有一个相关字段“性别”。您希望显示一个带有下拉列表的表单,以选择性别 models.py: class Gender(models.Model): gender = models.CharField( max_length=10, blank=False, ) class UserProfile(User): nickname = models.CharField(
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',
)
个人数据页面.html:
<div class="cell">
<label class="label">{{ form.gender.label }}</label>
{{ form.gender }}
{{ form.gender.errors }}
</div>
{{form.gender.label}
{{form.gender}
{{form.gender.errors}
问题是线路输出
一,
。我需要输出如下内容:
<select>
<option value="1">Male</option>
<option value="2">Female</option>
</select>
男性
女性
为什么要在性别表中创建一个带有外键的用户档案
模型?只需在UserProfile中包含性别
您要查找的内容称为选择\u字段
以下是一个例子:
以下是文档:
此外,以下是一些关于使用带有选项的小部件的文档:
编辑
如果您确实想保留性别表:
class PersonalDataForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = (
'nickname',
'gender',
)
widgets = {'gender': forms.ModelChoiceField(queryset =
Gender.objects.all())}
,假设您已经为性别定义了\uuuuuunicode\uuuuuu
请参阅此处的更多信息:
我需要通过foreignKey,但不是通过Choices为您编辑。附言:如果你想成为国际社会的一部分,并希望得到英语的回答,请学习基础英语。我们首先需要理解你的问题