背景
我有一个模特
class Contact(models.Model):
permanent_state = models.ForeignKey(State)
在form.py
中class ContactForm(forms.ModelForm):
class Meta:
model = Contact
在view.py
中main(request):
contact = Contact.objects.values().get(employee_id = emp)
print contact
form = ContactForm(initial = contact)
print form
return render(request,"dashboard/main.html",{ 'form' : form})
问题:表单生成一个下拉选择的ever_state的html标签但是没有显示state.instead它显示“------”
打印输出:
{ 'permanent_state_id': 2}
<tr><th><label for="id_permanent_state">Permanent state:</label></th><td><select id="id_permanent_state" name="permanent_state">
<option value="" selected="selected">---------</option>
<option value="1">Bengal</option>
<option value="2">Uttar Pradesh</option>
<option value="3">Tripura</option>
<option value="4">Tamil Nadu</option>
<option value="5">Sikkim</option>
但是如果我打印dict联系人,它会给我一个permanent_state值为2。 在显示Uttar Pradesh的django管理员应用中,所选值是正确的
请帮助
答案 0 :(得分:1)
请改为尝试:
contact = Contact.objects.get(employee_id = emp)
#Note that get throws an error if get() does not return a single value
form = ContactForm(instance = contact)