码农行者 码农行者
首页
  • Python

    • 语言特性
    • Django相关
    • Tornado
    • Celery
  • Golang

    • golang学习笔记
    • 对比python学习go
    • 模块学习
  • JavaScript

    • Javascript
  • 数据结构预算法笔记
  • ATS
  • Mongodb
  • Git
云原生
运维
垃圾佬的快乐
  • 数据库
  • 机器学习
  • 杂谈
  • 面试
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

DeanWu

软件工程师
首页
  • Python

    • 语言特性
    • Django相关
    • Tornado
    • Celery
  • Golang

    • golang学习笔记
    • 对比python学习go
    • 模块学习
  • JavaScript

    • Javascript
  • 数据结构预算法笔记
  • ATS
  • Mongodb
  • Git
云原生
运维
垃圾佬的快乐
  • 数据库
  • 机器学习
  • 杂谈
  • 面试
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Python

    • 语言特性

    • Django

      • Django 简单入门及最佳实践
      • Django学习笔记-url、视图
      • Django学习笔记-模型(1)模型的定义
      • Django学习笔记-模型(2)模型的操作
      • Django学习笔记-模板
      • Django 文章整理- 学习路径总结
      • Django 3.0 异步试用分享
      • Django 3.2 新功能尝鲜
      • Django admin 定制案例
      • Django 三个异步使用的案例
      • Django学习笔记- Class View
      • django 相关命令总结
      • django form表单的数据 select 值更新问题
        • Django自定义管理器(objects)后遇到的问题
        • django signal 使用总结
        • 单文件 Django 服务构建
        • 使用 supervisor 来监控 django celery
        • Django 中如何使用 sass
        • Django uwsgi 启动问题 unavailable modifier requested 0
        • Django uwsgi 启动问题 ImportError No module named os
      • Best.Practices.for.Django

      • Djangorestfulframework

      • Celery

      • Tornado

      • Flask

      • FastApi

      • virtualenv

    • Golang

    • Javascript

    • 开发语言
    • Python
    • Django
    DeanWu
    2015-11-01
    目录

    django form表单的数据 select 值更新问题

    # Q & A:

    今天在项目中遇到一个问题,有个django增删改查的模板页面,其中的编辑页面使用自定的form来构建的显示内容。表单的数据是从数据库中查询出来展示的,当修改数据库的内容后,form的展示的信息并没有修改。当重启后,form的数据重新加载。查了许多资料,都没有对form表单数据的加载时间的解答。 从现象来看,form的数据的加载时在服务启动时,就加载了。代码如下: view.py:

    def testform(req):
        form = testForms.testForm()
        print '>>>',form
        return render_to_response("test.html",{'form':form})
    
    1
    2
    3
    4

    urls.py

    # form测试
    url(r'^test/form/$','manager.makoViews.testform'),
    
    1
    2

    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))
    
    1
    2
    3
    4
    5
    6

    html:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <table>
    {{form}}
    </table>
    </body>
    </html>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    # 解决方案:

    models 代码为:

    name2= forms.ModelChoiceField(label=u'name2',queryset=models.Role.objects.all(),to_field_name="id") 
    
    1

    默认情况下,在页面中生成的select的 option的value是queryset的key,而值是queryset模型中的__unicode__方法返回的值。 可以使用to_field_name 来制定option的value。

    #QA#Django
    上次更新: 2023/03/28, 16:27:19
    django 相关命令总结
    Django自定义管理器(objects)后遇到的问题

    ← django 相关命令总结 Django自定义管理器(objects)后遇到的问题→

    最近更新
    01
    chromebox/chromebook 刷bios步骤
    03-01
    02
    redis 集群介绍
    11-28
    03
    go语法题二
    10-09
    更多文章>
    Theme by Vdoing | Copyright © 2015-2024 DeanWu | 遵循CC 4.0 BY-SA版权协议
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式