ModelForm 中选择框的数据 以及 instance 参数

时间:2022-09-05 19:12:43

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 参数的更多相关文章

  1. 在HTML下,如何为多个选择框提取数据并序列化

    如果同时存在选择框及下拉框,如果用JQUERY获取相关数据呢? <form id="deploy-form"> <checkbox>多选框 <sele ...

  2. 解决vue中模态框内数据和外面的数据绑定的问题

    1.做表格的修改,把整条数据传到模态框做修改,但是出现模态框改变数据没有保存时,表格的数据也会跟着改变,我想实现保存以后表格数据才会改变的功能. html:使用item整条数据都上传过去了,在upda ...

  3. 相同数据中选择id最大数据 的sql

    select max(id)id ,name, age from tablename group by name, age

  4. 修改页面中显示出需要修改的数据&lpar;包括select选择框复显示&rpar;

    页面中需要用到某个对象时,在底层代码中赋值,然后页面用java代码进行获取调用 如下截图: select复显示:根据后台方法赋值选择框 ,并设置初始值 按钮及选择框的禁用(五种方法): 方法一: $( ...

  5. ASP&period;NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  6. View中选择的数据行中的部分数据传入到Controller中

    将View中选择的数据行中的部分数据传入到Controller中   ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NE ...

  7. ionic 下拉选择框中默认显示传入的参数

    开发过程当中遇到一个有趣的问题,如果我在第一个页面需要把 item { "ownerId" : 1 } 传递给第二个页面,并挂在$scope下 $scope.item = $sta ...

  8. django modelform中的self&period;instance

    在*上看到一个问题,正好是我疑惑很久的相关问题. [原问题地址]https://*.com/questions/18265023/self-instan ...

  9. jqGrid中选择的行的数据&lbrack;转&rsqb;

    如何获取jqGrid中选择的行的数据? 下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: var id=$(‘#gridTable’).jqGrid(‘getGridPa ...

随机推荐

  1. 有朋友问了数据库ID不连续,怎么获取上一篇和下一篇的文章?(不是所有情况都适用)

    呃 (⊙o⊙)…,逆天好久没写SQL了,EF用的时间长了,SQL都不怎么熟悉了......[SQL水平比较菜,大牛勿喷] 方法很多种,说个最常见的处理 因为id是自增长的,所以一般情况下下一篇文章的I ...

  2. 总结js中数据类型的bool值及其比较

    首先需要知道的是,js中有6个值为false,分别是: 0, '', null, undefined, NaN 和 false, 其他(包括{}, [], Infinity)为true. 可以使用Bo ...

  3. 迟来的Android的Camera开发总结

    这是好久前写的项目,但一直没有去总结.刚好在准备找工作这段时间来总结自己做过的东西,学到的东西. 写Android的自定义的相机应用时,首先要知道一些Camera开发必须知道的尺寸,不然在调试的时候, ...

  4. log4j&period;properties 配置的学习整理

    参考资料: log4j.properties:用来做什么的(日志) Log4j:由2部分组成 :loggers(记录器)            ----日志的类别 appender(输出源)     ...

  5. &lbrack;汇编学习笔记&rsqb;&lbrack;第十三章int指令&rsqb;

    第十三章int指令 13.1 int指令 格式: int n, n 为中断类型码 可以用int指令调用任何一个中断的中断处理程序(简称中断例程). 13.4 BIOS和DOS 所提供的中断例程 BIO ...

  6. php设计模式--命名空间与自动载入

    关于命名空间: 最早的php是没有命名空间的概念的,这样不能存在相同名称的类或者函数,当项目变大了之后,产生冲突的可能性就高了,代码量也会变大,为了规划,从php5.3开始对命名空间就支持了. 说明代 ...

  7. VS2017打开VS2010项目报 &OpenCurlyDoubleQuote;找不到&ast;&period;xaml”错误

    VS2017打开VS2010项目报 “找不到*.xaml”错误.详细如下: 未处理System.IO.IOExceptionMessage: “System.IO.IOException”类型的未经处 ...

  8. Mysql数据库改名

    转自:https://www.cnblogs.com/leffss/p/7832100.html #!/bin/bash #作者:fafu_li #时间:2015.08.10 #mysql数据库改名, ...

  9. MySql数据库表设计规范

    建表规约 索引规约 SQL 语句 其他实战建议 选用utf8编码 建议使用InnoDB存储引擎 建议每张表都设置一个主键 建议字段定义为NOT NULL 唯一值字段要指定唯一性约束 ALTER TAB ...

  10. &lbrack;转自知乎&rsqb; 从github上下载单个文件夹

    原文地址: 如何从 GitHub 上下载单个文件夹?  注意:如果是在公司网络环境的话需要配置可以访问外网的代理,否则 svn checkout 时会出错.