自定义Django Form中choicefield下拉菜单选取数据库内容实例


Posted in Python onMarch 13, 2020

工作中遇到的问题,自定义了一个forms.form表单,某项需要作出下拉菜单,下拉菜单中的选项需要从数据库(objectForm models)中提取.

form.py为:

class objectForm(forms.Form):
pre = choicefield(lable = "工作")

最后的解决办法:

1.定义一个函数

def get_object(request):
  r = [('', '----')]
  for obj in objectModels.objects.all():
    r = r + [(obj.id, obj.name)]
  return r

2.在views.py的视图函数中加入

form.fields['pre'].choices = get_object(request)

收工!

百度了很多Django Form的问题都没有得到解决,写出来方便后来人。

补充知识:django form表单select下拉菜单数据源实时更新(每次访问获取一次数据库内容)

重点是: Form类对象实例化的时候,在类里边__init()__函数中加入重新更新select数据源

from django.shortcuts import render,redirect
from app3 import models
from app3 import form
from django import forms
from django.forms import widgets
 
#静态字段,value_list获取列表[()]加元组返回值
 
 
class Fromdb(forms.Form):
  purpose = forms.CharField()
  user = forms.IntegerField(
    widget=widgets.Select()
    )
  #保证每次访问重新获取最新数据
  def __init__(self,*args,**kwargs):
    super(Fromdb,self).__init__(*args,**kwargs)
    self.fields["user"].widget.choices=models.Stu.objects.values_list("id", "name")
 
def formdb(request):
  stus = Fromdb()
  return render(request,"formdb.html",{"stus":stus})

以上这篇自定义Django Form中choicefield下拉菜单选取数据库内容实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
对于Python的Django框架使用的一些实用建议
Apr 03 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
python编写Logistic逻辑回归
Dec 30 Python
Python实现k-means算法
Feb 23 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
linux系统下pip升级报错的解决方法
Jan 31 Python
Python操作Excel的学习笔记
Feb 18 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 #Python
python实现俄罗斯方块游戏(改进版)
Mar 13 #Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 #Python
Tensorflow中的dropout的使用方法
Mar 13 #Python
python实现简单俄罗斯方块
Mar 13 #Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 #Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 #Python
You might like
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
点击文章内容处弹出页面代码
2009/10/01 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
JS中的BOM应用
2018/02/02 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
Python的Django框架中if标签的相关使用
2015/07/15 Python
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
娱乐地球:Entertainment Earth
2020/01/08 全球购物
编码实现字符串转整型的函数
2012/06/02 面试题
大学四年规划书范文
2013/12/27 职场文书
初一家长会邀请函
2014/01/31 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS
用Python实现Newton插值法
2021/04/17 Python
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏