2014-03-12 39 views
0

背景值沒有顯示在形式

我有一個模型

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}) 

問題:形式產生下拉permanent_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> 

但是,如果我打印字典接觸它給了我permanent_state價值爲2 選定的值是Django管理應用程序正確顯示北方邦

請幫助

+0

可以粘貼 「儀表板/ main.html中」 模板?爲了讓HTML表單具有正確的選擇,HTML必須以正確的方式呈現。 – stormlifter

回答

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) 

相關documentation here