Django 模型中的 request.user

2024-01-03

我正在使用 Django 模型来创建表单的字段。我希望自动检测并填写用户的用户名,这样我可以将其隐藏在我的表单中(而不是让他们从包含每个人用户名的长列表中选择用户名)。为此,我正在使用:

current_user = request.user

然后将默认值设置为 current_user。但是,我不断收到此错误:

NameError: name 'request' is not defined

我假设你不能在 Django 模型中使用请求,但是有什么办法可以解决这个问题吗?这是我的 models.py 文件的相关部分:

class StockTickerSymbol(models.Model):
    StockName = models.CharField(max_length=7, unique=True)
    current_user = request.user
    user = models.ForeignKey(User, default=current_user)

有人知道我如何在模型中使用请求,或者以某种方式调用变量 current_user 吗?


这里您还没有在该模型类范围内导入请求。这是获取用户的方法:

# model

class StockTickerSymbol(models.Model):
    StockName = models.CharField(max_length=7, unique=True)
    user = models.ForeignKey(User)

    def save(self,**kwargs):
      if kwargs.has_key('request') and self.user is None:
            request = kwargs.pop('request')
            self.user= request.user
      super(StockTickerSymbol, self).save(**kwargs)

#views:

def post(self, request):
   if form.is_valid():                         
       sts=StockTickerSymbol()
       sts.StockName= form.cleaned_data['StockName']
       if form.cleaned_data['user'] is None: #null check
          sts.save(request=request)
       else:
          sts.user= form.cleaned_data['user']
          sts.save(request=request)

对于模型形式:

class SomeForm(forms.ModelForm):
    ...

    def save(self, commit=True ,*args, **kwargs):
        request = None
        if kwargs.has_key('request'):
            request = kwargs.pop('request')
        m = super(SomeForm, self).save(commit=False, *args, **kwargs)
        if m.user is None and request is not None:
            m.user= request.user
            m.save()

在意见中:

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

Django 模型中的 request.user 的相关文章

  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • 如何使用 DJango Rest Framework 上传多个图像?

    我可以使用以下代码上传单个图像 如果我选择多个图像 则仅上传所选图像中的最后一个图像 模型 py class Image models Model property id models ForeignKey properties Addre
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 通过Python连接到Bigquery:ProjectId和DatasetId必须非空

    我编写了以下脚本来通过 SDK 将 Big Query 连接到 Python 如下所示 from google cloud import bigquery client bigquery Client project My First Pr
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • django 迁移地狱,丢了一张表。试图把它找回来

    所以我在数据库中删除了一个表 并且希望将其恢复 重新运行迁移会出现错误表不存在 经过一番搜寻后 我了解到我可以删除 django migrations 中应用程序名为我的应用程序的所有内容 所以我这样做了 重新运行迁移 它开始工作 然后抱怨
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的

随机推荐

  • 发生整数溢出时无符号和有符号整数的行为差异[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从 iOS 7.1 到 iOS 8 发送数据时 BLE 花费太多时间

    我有一个奇怪的问题 我正在开发一个应用程序 我在其中发送20 20 字节的块 一切正常 当我发送字节数据时从 iOS 8 到 iOS 8设备从一个设备传输到另一个设备大约需要 4 5 秒 但我的问题是当我从iOS 7 1 至 iOS 8或者
  • 状态机;为什么只有最后一个状态有效?

    我有一个有 6 个状态 3 个主要状态 的状态机 只有最后一个状态有效 但前 2 个状态无效 共 3 个 只有最后一个状态有效 我发现了问题 当我移除去抖电路时它可以工作 但我需要去抖电路 我从网上得到了去抖电路 如果有人可以提供帮助 我会
  • 使用 RestSharp 将 JSON 数组反序列化为 C# 结构

    我使用 RestSharp 和动态地将不同的 JSON 结构转换为各种 C 结构IRestResponse
  • 使用 IMultiValueConverter 将多个命令参数传递给 viewModel

    我有以下代码
  • Haskell 列表中的连续数字

    我是 haskell 的新手 我正在尝试一些我之前为 java 完成的编码问题 但是下面的问题让我难住了 基本上 这个想法是编写一个接受整数列表 Int 的函数 确定整数列表中是否包含连续的 1 例如 以下内容的输出将是 输入 func 0
  • Xamarin.forms android权限提示不显示

    我正在使用权限插件 https github com jamesmontemagno PermissionsPlugin作者 詹姆斯 蒙特马尼奥 我基本上复制了该示例 但是在请求它的行之后权限未知 甚至没有对话框显示 var status
  • 通过 javascript 访问车把变量

    我正在为 Express js 框架生成一个把手视图 并且需要从单独的 JavaScript 文件内部访问传递给视图的变量 例如 var foo user name 有人有主意吗 帮手 的价值user name如果您想将其包含在 a 中 则
  • Haskell 你好世界,Eclipse IDE

    我在 eclipseFP 和 Haskell 中使用 hello world 时遇到问题 我有以下代码 module Main where main putStr Hello world 当我用它编译时 ghc exe H1 hs o hw
  • 在非时钟信号上使用上升沿是不好的做法吗?还有其他选择吗?

    我正在研究 VHDL 设计并且它可以工作 但是代码非常丑陋 而且我似乎正在尝试围绕语言的设计来实现我的目标 这一事实让我觉得有些事情是错误的 我对 VHDL 还很陌生 但我已经研究该项目的较小部分近一个月了 所以我有了总体想法 然而 这部分
  • 在 Python 中合并具有不同列的 CSV

    我有数百个大型 CSV 文件 我想将它们合并为一个 但是 并非所有 CSV 文件都包含所有列 因此 我需要根据列名称而不是列位置来合并文件 需要明确的是 在合并的 CSV 中 对于来自不包含该单元格列的行的单元格 值应该为空 我无法使用 p
  • DRF 3 - 使用表创建多对多更新/创建序列化器

    我正在尝试在 DRF 3 中创建一个参考应用程序来演示可以创建 更新模型的嵌套序列化器 当尝试创建嵌套模型时 下面的示例代码会带有 之后的 create 参数必须是映射 而不是列表 的炸弹 我也不清楚如何处理 update 因为在某些情况下
  • 如何使用导航组件管理权限请求代码?

    如何使用导航组件管理权限请求代码 I referred too many website stack links none of it worked still showing deprecated Waring 谷歌参考链接 https
  • 使用 google 字体并仅包含 [A-Z] 和 '&'

    有没有办法使用谷歌字体并只加载它 A Z 和 字符 我想这样做是为了减小大小并缩短加载时间 因为我只会使用基本的拉丁数字和字母 如果必须的话 我可以自己托管字体 并且操作字体包是合法的 但不确定是否需要自托管以及如何操作谷歌的字体包 我已指
  • Maven 中的 Scalatest:JUnit 结果

    我在 Microsoft Visual Studio Team Services 中设置了持续集成服务器 我能够构建我的代码并运行我的测试分级测试 但是 我不知道如何以 JUnit 格式输出结果 我见过很多使用 SBT 的人的结果 但没有人
  • 如何为 Twitter 文章聚合器设计 MongoDB 架构

    我是 MongoDB 的新手 作为练习 我正在构建一个从推文中提取链接的应用程序 这个想法是获取某个主题的推文最多的文章 我很难为这个应用程序设计架构 该应用程序收集推文并保存它们 解析推文中的链接 链接与附加信息 标题 摘录等 一起保存
  • 嵌套命名空间和不明确的符号

    我有一个涉及嵌套命名空间和模板化类的问题 我还能够创建测试用例 它产生与实际代码相同的错误 但更具可读性 使用 VS2012 和 2010 平台工具集编译以下代码会导致错误 namespace A namespace B namespace
  • Ant:重命名文件以包含其 MD5

    对于熟悉 ant 的人来说 这个问题可能非常微不足道 到目前为止我只使用了 ant 的基础知识 我知道如何重命名文件 例如我已经使用
  • 如何使用 javascript 和模板构建 DOM?

    我正在构建一个应用程序 其中大部分 HTML 都是使用 javascript 构建的 DOM 结构是使用从服务器发送的一些 JSON 数据结构构建的 然后客户端代码为该数据构建 UI 我当前的方法是遍历 JSON 数据结构 并调用 scri
  • Django 模型中的 request.user

    我正在使用 Django 模型来创建表单的字段 我希望自动检测并填写用户的用户名 这样我可以将其隐藏在我的表单中 而不是让他们从包含每个人用户名的长列表中选择用户名 为此 我正在使用 current user request user 然后