自定义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 thread 并发且顺序运行示例
Apr 09 Python
Python基于动态规划算法计算单词距离
Jul 25 Python
Python scikit-learn 做线性回归的示例代码
Nov 01 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 Python
python学生管理系统学习笔记
Mar 19 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
超实用的 30 段 Python 案例
Oct 10 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
python画图常规设置方式
Mar 05 Python
使用npy转image图像并保存的实例
Jul 01 Python
python实现视频压缩功能
Dec 18 Python
Python re.sub 反向引用的实现
Jul 07 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
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php浏览历史记录的方法
2015/03/10 PHP
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
搭建vue开发环境
2018/07/19 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python中eval与int的区别浅析
2019/08/11 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python字符串的拼接方法总结
2019/11/18 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
校领导推荐信
2013/11/01 职场文书
小学敬老月活动方案
2014/02/11 职场文书
股份合作协议书范本
2014/04/14 职场文书
新闻发布会策划方案
2014/06/12 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
JavaScript继承的三种方法实例
2021/05/12 Javascript
Node.js实现断点续传
2021/06/23 Javascript
PHP设计模式(观察者模式)
2021/07/07 PHP
Python 数据结构之十大经典排序算法一文通关
2021/10/16 Python
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
2022微信温控新功能上线
2022/05/09 数码科技