ModelForm 中选择框的数据 以及 instance 参数
ModelForm 中选择框的数据
print(list(self.fields['customer'].choices))
# [('', '---------'), (1, '张飞'), (2, '关羽'), (3, '刘备')]
print(list(self.fields['customer'].widget.choices))
# [('', '---------'), (1, '张飞'), (2, '关羽'), (3, '刘备')]
# 修改数据限制显示的内容
# 修改之前的 customer字段的 选项列表
choices_list = [(i.pk, str(i)) for i in self.instance.consultant.customers.all()]
choices_list.insert(0, ('', '---------'))
self.fields['customer'].choices = choices_list
# 修改之前的 consultant 字段的 选项列表
self.fields['consultant'].choices = [(self.instance.consultant.pk,self.instance.consultant.name)]
在内存中创建 包含销售对象的 consultRecord 对象 数据库中没有改数据
# request.user_object 为 中间建中创建的个人对象
obj = models.ConsultRecord(consultant=request.user_object)
obj.save() # 新增数据到数据库中
# 通过 instance 传给 ModelForm 对象
instance 参数
# 创建 和 修改 客户的方法
def customer_edit(request, pk=None):
''' 创建 和 修改 客户的方法 '''
# 通过分组 参数 的 id 获取 要修改的对象
cus_obj = models.Customer.objects.filter(pk=pk).first()
# 把要修改 的对象通过 instance 传入form组件中 必须为本类的对象
form_obj = CustomerForm(instance=cus_obj)
if request.method == 'POST':
form_obj = CustomerForm(request.POST, instance=cus_obj)
if form_obj.is_valid():
# 如果 instance 有对象则是修改数据 没有就是 新增数据
form_obj.save()
# 获取到跳转过来的路径 如果有就重定向到此路径
# return_url = request.GET.get('return_url')
# if return_url:
# return redirect(reverse_url(request, return_url=return_url))
return redirect(rev_url(request, 'show:public_customer'))
return render(request, "form_edit.html", {'form_obj': form_obj, 'title': "修改用户" if cus_obj else '添加用户'})
ModelForm 中选择框的数据 以及 instance 参数的更多相关文章
- 在HTML下,如何为多个选择框提取数据并序列化
如果同时存在选择框及下拉框,如果用JQUERY获取相关数据呢? <form id="deploy-form"> <checkbox>多选框 <sele ...
- 解决vue中模态框内数据和外面的数据绑定的问题
1.做表格的修改,把整条数据传到模态框做修改,但是出现模态框改变数据没有保存时,表格的数据也会跟着改变,我想实现保存以后表格数据才会改变的功能. html:使用item整条数据都上传过去了,在upda ...
- 相同数据中选择id最大数据 的sql
select max(id)id ,name, age from tablename group by name, age
- 修改页面中显示出需要修改的数据(包括select选择框复显示)
页面中需要用到某个对象时,在底层代码中赋值,然后页面用java代码进行获取调用 如下截图: select复显示:根据后台方法赋值选择框 ,并设置初始值 按钮及选择框的禁用(五种方法): 方法一: $( ...
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- View中选择的数据行中的部分数据传入到Controller中
将View中选择的数据行中的部分数据传入到Controller中 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NE ...
- ionic 下拉选择框中默认显示传入的参数
开发过程当中遇到一个有趣的问题,如果我在第一个页面需要把 item { "ownerId" : 1 } 传递给第二个页面,并挂在$scope下 $scope.item = $sta ...
- django modelform中的self.instance
在stackoverflow上看到一个问题,正好是我疑惑很久的相关问题. [原问题地址]https://stackoverflow.com/questions/18265023/self-instan ...
- jqGrid中选择的行的数据[转]
如何获取jqGrid中选择的行的数据? 下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: var id=$(‘#gridTable’).jqGrid(‘getGridPa ...
随机推荐
- mysql查找一个字段属于哪个表
查询mid字段存在于哪个表中 SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.`COLUMNS` WHERE COLUMN_NAME='m ...
- [Codeforces 1016F]Road Projects
Description 题库链接 给你一棵 \(n\) 个节点的树,定义 \(1\) 到 \(n\) 的代价是 \(1\) 到 \(n\) 节点间的最短路径的长度.现在给你 \(m\) 组询问,让你添 ...
- openssl passwd
openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 该伪命令用于生成加密的密码. [root@xuexi tmp]# whati ...
- openWin和openFrame 设置透明背景
openWin简单点说就是:像是一个浏览器 openFrame就是对应openWin浏览器里面打开的每一个网页 有些操作只能在openWin里面执行,比如监听安卓返回事件,只能在openWin里面才有 ...
- activeX
对外接口和classid在idl文件中,接口功能实现在ctrl类中实现
- HTML--SVG基础
一 SVG概述 SVG是Scalable Vector Graphics的缩写,即缩放式矢量图形; 优点: 1.使用编辑器即可编辑图形; 2.基于XML,SVG图形可以被很容易的搜索,脚本化和压缩; ...
- jQuer插件满屏气泡飘落动画效果
飘落动画效果插件引用: <script src="https://cdn.bootcss.com/JQuery-Snowfall/1.7.4/snowfall.jquery.min.j ...
- Tomcat 部署外部系统
/usr/local/tomcat/conf/Catalina/localhost/resource.xml <?xml version='1.0' encoding='utf-8' ?> ...
- C++ UTF8 UrlEncode(宽字符)
为了支持C++ UrlEncode之后的字符串能够被C#所识别(windows phone 下C#只能支持UTF8与 Unicode). 所谓的 UTF8 UrlEncode 也只是宽字符串 UrlE ...
- python变量的命名空间
首先必须要提一下python程序执行过程中变量的查找规则 较官方的查找机制是: 局部作用域--外部函数作用域--全局作用域--内建函数作用域 其实一般内建函数中的作用域很少会涉及到,因为内建函数其实是 ...