数据源数据无法实时更新

解决方法一:重写构造方法(推荐)

class ClassForm(Form):
	caption = fields.CharField(error_messages={‘required‘:‘班级名称不能为空‘})
	# headmaster = fields.ChoiceField(choices=[(1,‘娜娜‘,)])
	headmaster_id = fields.ChoiceField(choices=[])

	def __init__(self,*args,**kwargs):
		super().__init__(*args,**kwargs)
		self.fields[‘headmaster_id‘].choices = models.UserInfo.objects.filter(ut_id=2).values_list(‘id‘,‘username‘)

  

解决方法二:利用Django自带的类方法

from django.forms.models import ModelChoiceField
class ClassForm(Form):
	caption = fields.CharField(error_messages={‘required‘:‘班级名称不能为空‘})
	# headmaster = fields.ChoiceField(choices=[(1,‘娜娜‘,)])
	headmaster_id = ModelChoiceField(queryset=models.UserInfo.objects.filter(ut_id=2)) #这个是单选的,还有一个是多选的:ModelMultipleChoiceField

  

对于ModelForm:会帮我们判断model中的字段:

  如果是FK:ModelChoiceField

  如果是M2M:ModelMultipleChoiceField

时间: 2024-08-30 15:10:10

数据源数据无法实时更新的相关文章

Dev GridControl数据修改后实时更新数据源

  1:  /// <summary> 2:  /// 嵌入的ComboxEdit控件选择值变化事件 3:  /// </summary> 4: /// <param name="sender"></param> 5: /// <param name="e"></param> 6: private void repositoryItemComboBox_Gender_SelectedIndexC

Dev GridControl数据修改后实时更新数据源(转)

1:  /// <summary> 2:  /// 嵌入的ComboxEdit控件选择值变化事件 3:  /// </summary> 4: /// <param name="sender"></param> 5: /// <param name="e"></param> 6: private void repositoryItemComboBox_Gender_SelectedIndexCha

基于server broker 的数据实时更新

Service Broker介绍:SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持.这使开发人员可以轻松地创建使用数据库引擎组件在完全不同的数据库之间进行通信的复杂应用程序.开发人员可以使用 Service Broker 轻松生成可靠的分布式应用程序.使用 Service Broker 的应用程序开发人员无需编写复杂的内部通信和消息,即可跨多个数据库分发数据工作负荷.因为 Service Broker 会处理会话上下文中的通信

使用php+swoole对client数据实时更新(二) (转)

上一篇提到了swoole的基本使用,现在通过几行基本的语句来实现比较复杂的逻辑操作: 先说一下业务场景.我们目前的大多数应用都是以服务端+接口+客户端的方式去协调工作的,这样的好处在于不论是处在何种终端的情况下,都可以完美的和服务端兼容.这样就轻松实现了MVC各个部分的真正解耦.但是提高程序的友好性还是有很多路要走,其中一个大家都会遇到的就是数据实时更新的问题.比如一个用户在手机上做了添加操作,这时候其他的终端也应该及时显示数据的变化情况.这个对于手机来说还算好办,因为现在的各种推送服务完全可以

Qt之模型/视图(实时更新数据)

上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变的,那么如何实时更新成了一个很重要的问题!功能:(1)添加委托(进度条)(2)显示文件名称.大小.进度.速度.剩余时间.状态等.(3)可进行添加.更新.删除.清空等操作.(4)实时更新数据先看一个效果图:委托(进度条):ProgressBarDelegate::ProgressBarDelegate(QObject *parent): QItemDelegat

WebSocket 实时更新mysql数据到页面

使用websocket的初衷是,要实时更新mysql中的报警信息到web页面显示 没怎么碰过web,代码写的是真烂,不过也算是功能实现了,放在这里也是鞭策自己,web也要多下些功夫 准备 引入依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> <

实时更新数据,无需刷新:a,如何使用Turbolinks clearCache(), b Action Cable

https://gorails.com/episodes/how-to-use-turbolinks-clearCache?autoplay=1 用途: 更方便的实时从服务器更新局部网页,在这页更新了一条记录的显示方式, 再打开的之前网页的相同位置或相同的功能模块显示也会同步更新. 把Turbolinks.clearCache(), Turbolinks.clearCache(); 比如放在你写的xx.js.erb的第一行. 如果不加这句话,turbolinks只会reload之前的网页中的数据

form 内置字段,数据实时更新,下拉框

用来验证 和 显示 生成html代码 类创建字段 使用参数 Field函数 required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) error_messages=None, 错误信息 {'required': '不能为空', 'invalid': '格式错误'} show_hidden_initial=False, 是否

十三 .Flask wtforms组件和选择框动态数据实时更新

一 . wtforms组件     选择框动态数据实时更新 https://www.cnblogs.com/lovershowtime/p/11384494.html 1.wtforms组件使用(登录) 1. 用户登录 当用户登录时候,需要对用户提交的用户名和密码进行多种格式校验.如: 用户不能为空:用户长度必须大于6: 密码不能为空:密码长度必须大于12:密码必须包含 字母.数字.特殊字符等(自定义正则): login.html <!DOCTYPE html> <html lang=&