标签:
今天在项目中遇到一个问题,有个django增删改查的模板页面,其中的编辑页面使用自定的form来构建的显示内容。 表单的数据时从数据库中查询出来展示的,当修改数据库的内容后,form的展示的信息并没有修改。当重启后,form的数据重新加载。 查了许多资料,都没有对form表单数据的加载时间的解答。
从现象来看,form的数据的加载时在服务启动时,就加载了。代码如下:
view.py
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.py
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>
问题解决:
今天在django群里遇到一个哥们问题form中select值怎么写的问题,我给了个答案。
name = forms.CharField(widget=forms.widgets.Select(choices=device_types))
然后,他说这样写不能及时更新值,继续求教。得到
name2= forms.ModelChoiceField(label=u‘name2‘,queryset=models.Role.objects.all(),to_field_name="id")
瞬间解决了我的大问题,再次谢谢那位哥们。
默认情况下,在页面中生成的select的 option的value是queryset的key,而值是queryset模型中的__unicode__方法返回的值。
--- 2015-06-19 13:41 记录
--- 水平有限,个人记录,仅供备查。
标签:
原文地址:http://my.oschina.net/u/877170/blog/516638