今天在項目中遇到一個問題,有個django增刪改查的模板頁面,其中的編輯頁面使用自定的form來構建的顯示內容。 表單的數據時從數據庫中查詢出來展現的,當修改數據庫的內容後,form的展現的信息並無修改。當重啓後,form的數據從新加載。 查了許多資料,都沒有對form表單數據的加載時間的解答。 html
從現象來看,form的數據的加載時在服務啓動時,就加載了。代碼以下:python
view.pyweb
def testform(req): form = testForms.testForm() print '>>>',form return render_to_response("test.html",{'form':form})
urls.py數據庫
#form測試 url(r'^test/form/$','manager.makoViews.testform'),
models.pydjango
from django import forms import models class testForm(forms.Form): device_types = models.Role.objects.all().values_list('id','name') name = forms.CharField(widget=forms.widgets.Select(choices=device_types))
html測試
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <table> {{form}} </table> </body> </html>
問題解決:url
今天在django羣裏遇到一個哥們問題form中select值怎麼寫的問題,我給了個答案。spa
name = forms.CharField(widget=forms.widgets.Select(choices=device_types))
而後,他說這樣寫不能及時更新值,繼續求教。獲得code
name2= forms.ModelChoiceField(label=u'name2',queryset=models.Role.objects.all(),to_field_name="id")
瞬間解決了個人大問題,再次謝謝那位哥們。
默認狀況下,在頁面中生成的select的 option的value是queryset的key,而值是queryset模型中的__unicode__方法返回的值。orm
--- 2015-06-19 13:41 記錄
--- 水平有限,我的記錄,僅供備查。