保存后从 Django 表单获取模型 ID

2024-04-15

view.py

someForm = SomeForm(request.POST)
...
someForm.customSave(request.user)

forms.py

class SomeForm(ModelForm):

    class Meta:
        model = Some

    def customSave(self,user):
        lv = self.save(commit=False)
        lv.created_by = user
        lv.save()

如何获取我刚刚保存的模型(或模型)的 idsomeForm?


由于行为模型表单.save https://github.com/django/django/blob/399c6ac7cc1b95c249b964d6c6d47ded43943fde/django/forms/models.py#L351是返回实例,您可能希望在 customSave 方法中返回实例

def customSave(self, user):
    lv = self.save(commit=False)
    lv.created_by = user
    lv.save()
    return lv

然后您可以访问实例上的 pk 或 id

inst = someForm.customSave(request.user)
inst.pk or inst.id
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保存后从 Django 表单获取模型 ID 的相关文章

随机推荐

  • iOS5 的 NSURLConnection 超时情况如何?

    我试图找到一个明确的答案 是否可以设置在 iOS 5 中使用 NSURLConnection 的超时值 我想将其设置为 30 秒 我搜索了过去关于此的帖子 但信息似乎相互矛盾 例如这个帖子 NSURLConnection 超时 https
  • 在 lucene 中搜索 UUID 不起作用

    我有一个 UUID 字段 以以下格式添加到我的文档中 372d325c e01b 432f 98bd bc4c949f15b8 但是 当我尝试通过 UUID 查询文档时 无论我如何尝试转义表达式 它都不会返回它们 例如 uuid 372d3
  • 何时使用 Soapobject 和 SoapPrimitive

    我一直在与ksoap2 lately 我仍然很困惑两者之间的确切区别是什么SoapObject and SoapPrimitive 以及何时使用它们 我猜它与字符串和数组有关 这是真的吗 我找到了一些链接 但感到困惑 谁能用最简单的英语形式
  • 在代理后面工作的 Azure 服务总线

    我通过 SDK 使用 Azure 服务总线 一切正常 但我遇到了我认为与代理相关的问题 当 IE 运行时 一切正常 但如果不运行 消息将无法发送 我正在代码中设置代理 但想知道我是否为服务总线 SDK 正确执行了此操作 WebProxy p
  • cpython 和 python 有什么区别[重复]

    这个问题在这里已经有答案了 我想知道 CPython 和 Python 之间的区别 因为我听说 Python 是用 C 开发的 那么 CPython 有什么用 Python 是一种语言 CPython http en wikipedia o
  • 为什么双向绑定有时在 Angular 中不使用点也能工作?

    考虑这个小提琴 Fiddle 1 http jsfiddle net martijngr Qvu5u 1 当您选择日期时 您会注意到上面的文本没有更新 这是因为我必须使用列表中的一个对象 如下所示 Fiddle 2 http jsfiddl
  • Anaconda 4.3,64 位(python 3.6),在 Windows“开始”菜单中留下不正确的截断路径

    在 Windows 上安装 anaconda 4 3 64 位 python 3 6 并选择 仅为当前用户安装 和 添加到路径 后 我注意到 anaconda 程序快捷方式在我的开始菜单上不起作用 它们在最后被切断 有谁知道正确的条目应该如
  • 多维 PyMC3 观察

    我的模型有一个 LogNormal RV C 形状为 W D W 中的每一行和 D 中的每一列都有一个正在拟合的参数 我试图将我的观察结果指定为 W D 矩阵 但是 这会导致 theano 编译错误 raise Exception Comp
  • CONNECT 请求未调用 Servlet service() 方法

    我正在尝试使用 Servlet 3 0 在 Jetty 中编写转发代理 我有一个简单的代码 public class testServlet extends HttpServlet Override protected void servi
  • 在表单提交之前发送 Ajax 请求

    是否可以在表单的 onsubmit 中发送 ajax 请求 我一直在尝试 结果不稳定 主要是因为如果浏览器发送我的请求的时间恰好比发送原始表单的时间长 那么一旦加载页面的位置发生变化 我的请求就会被丢弃 所以有时它甚至从未访问过服务器 基本
  • Python 中的反向 DNS 查找

    如果我有一个类似 2001 4860 4860 8888 的 IP 地址 如何获得 foo ip6 arpa 格式的完全限定域名 编辑 到目前为止 两个解决方案都给了我 google public dns a google com 也许反向
  • 使用 ASP.NET MVC ViewBag 和 DropDownList 时遇到困难

    我的难点是如何使用ViewBag with DropdownListFor 在我的控制器中我有 TestModel model new TestModel ViewBag Clients model Clients ViewBag Stat
  • 使用 gem 安装 Rails,加载命令时出错:安装未定义的方法 'invoke_with_build_args`

    我正在尝试在 Debian 上安装 Rails 当运行这个命令时 gem install rails 我给出了这个错误 ERROR Loading command install LoadError cannot load such fil
  • 如何使用 Retrofit 传递数组参数?

    我想要post数据如下 user id 14545646 list 4545645 4545645 4545645 4545645 我用了以下Retrofit method interface DeleteOrder FormUrlEnco
  • 多重继承:从 void * 转换为第二个基类后出现意外结果

    我的程序需要使用 void 来在动态调用情况下传输数据或对象 以便它可以引用任意类型的数据 甚至原始类型 然而 我最近发现 在具有多个基类的类的情况下 向下转换这些 void 的过程会失败 甚至在调用这些向下转换的指针上的方法后使我的程序崩
  • 如果 SELECT 语句没有结果,则使用 CASE 返回字符串

    如果我的 SELECT 语句没有结果 是否可以使用 CASE 返回某个字符串 例子 DECLARE accountnumber AS VARCHAR 10 SET accountnumber account number to search
  • 在 Watson Assistant 中保存用户输入(字符串)

    我正在构建一个基于 IBM Watson 的聊天机器人应用程序 我需要将用户输入保存到变量中 我在网上搜索 只找到输入必须是实体系统 数字 日期 时间 位置 人员 的教程 在我的对话框中 我询问用户他的标识符 该标识符应该是字母数字字符串
  • 在 OR 上下文中使用多个 Laravel 作用域

    我有一个订阅模型 其中包含start date and end date我的 Laravel 应用程序中的属性 我创建了两个查询范围 scopeActive 和scopeFuture 分别 来查找活动订阅和未来订阅 我想知道如何在 OR 上
  • 在Win7 64位上安装Qwt

    我在网上搜索但没有找到适合我的问题的解决方案 Problem Qwt 安装失败nmake step 我做了什么 安装了Qt 5 1 适用于 Windows 64 位的 Qt 5 1 1 VS 2012 525 MB 信息 来自qt 网站 h
  • 保存后从 Django 表单获取模型 ID

    view py someForm SomeForm request POST someForm customSave request user forms py class SomeForm ModelForm class Meta mod