模型形式中的值错误

2024-06-29

我正在使用模型表单来获取播放列表及其项目。它还包含登录脚本。我正在尝试将当前登录的用户设置为用户模型。 你可以看看我之前发过的这篇文章如何避免这个下拉组合框? https://stackoverflow.com/questions/8763612/how-to-avoid-this-dropdown-combo-box/8765298#8765298

class playlistmodel(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=200)

    def __unicode__(self):
        return self.title

class itemsmodel(models.Model):
    playlist = models.ForeignKey(playlistmodel)
    item = models.TextField()

    def __unicode(self):
        return self.item

class playlistform(ModelForm):
    class Meta:
        model = playlistmodel
        exclude = {'user'}

class itemsform(ModelForm):
    class Meta:
        model = itemsmodel
        exclude = {'playlist'}

这是播放列表视图:

def playlistview(request):
    if request.method == 'POST':
        form = playlistform(request.POST)
        if form.is_valid():
                data = form.save(commit=False)
                data.user = request.user
                data.save()
                return render_to_response('playlist.html', {'data': data})
    else:
        form = playlistform()
        return render_to_response('playlist.html', {'form': form, 'user': request.user}, context_instance=RequestContext(request))

播放列表.html 文件:

https://gist.github.com/1576136 https://gist.github.com/1576136

错误页面:

https://gist.github.com/1576186 https://gist.github.com/1576186

但我越来越ValueError:

Exception Type: ValueError Exception Value: Cannot assign "<django.utils.functional.SimpleLazyObject object at 0x7f0234028f50>": "playlistmodel.user" must be a "User" instance

Traceback: Local vars --- data.user = request.user

这是我的设置.pyhttps://gist.github.com/1575856 https://gist.github.com/1575856

谢谢。


我知道这篇文章很旧,但如果有人遇到同样的问题,答案是request.user实际上是 django 的包装auth.user. So request.user is a SimpleLazyObject,其目的是避免不必要的实例化,同时实现简单的用户缓存机制。 要访问实际用户(并在第一次访问时实例化它),您需要执行以下操作:

auth.get_user(request)

这将为您提供一个实例auth.user。 如果您需要了解内部情况的更多详细信息,请参阅这个帖子 https://stackoverflow.com/questions/10506766/django-purpose-of-django-utils-functional-simplelazyobject.

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

模型形式中的值错误 的相关文章

随机推荐

  • 接受 iOS 应用付款吗?

    在ios应用程序上实现支付系统可以吗 我想制作一个应用程序 可以浏览我的电子商务网站上的产品 然后让人们在我的应用程序上购买产品 我问这个问题是因为我听说它违反了苹果的政策 这显然取决于所出售的商品 当然 最终的答案只能从你的律师对苹果协议
  • 具有多个表的 SQL select 语句

    给出以下两个表 Person table id pk first middle last age Address table id pk person id fk person id street city state zip 如何创建返回
  • 为什么在 Vue.js 中从列表中删除项目时移动转换需要绝对位置

    https v2 vuejs org v2 guide transitions html List Move Transitions https v2 vuejs org v2 guide transitions html List Mov
  • C++ 低延迟线程异步缓冲流(用于日志记录) – Boost

    Question 下面的 3 个 while 循环包含已被注释掉的代码 我搜索 TAG1 TAG2 和 TAG3 以便于识别 我只是希望 while 循环在继续操作之前等待测试的条件变为真 同时尽可能减少 CPU 资源 我首先尝试使用 Bo
  • (已弃用)片段 onOptionsItemSelected 未被调用

    EDIT 这个问题是针对已弃用的 Sherlock 操作栏的 现在应该使用 Android 支持库 我添加了一个名为 共享 的操作栏菜单选项fragment出现但没有捕获选择事件 我这样添加 Override public void onC
  • Angular 2 Spring 安全 CSRF 令牌

    大家好 我在为我的应用程序设置安全解决方案时遇到问题 所以我有一个 REST API 后端 运行在http 本地主机 51030 http localhost 51030并使用 Spring Framework 进行开发 对于前端 我有一个
  • 游戏对象跟随领导/蜈蚣问题

    我很难将一些游戏对象链接在一起以 跟随领导者 这就是我想要实现的目标 哪里有一个 头 物体并且它拉动body对象与它 就像蛇或者蜈蚣一样 然而 这就是正在发生的事情 它们都有点跟随头部 但它们似乎作为一个整体移动 谁能看到我做错了什么吗 这
  • 创建 SQLite3 表后添加 ON DELETE CASCADE 行为

    是否可以添加一个ON DELETE CASCADE创建后的表 我的架构如下 CREATE TABLE skills name varchar skill varchar level int foreign key name referenc
  • 按组连接/粘贴列并添加到原始数据

    我有一个名称数据框 名称 按 部门 分组 Dept Date Name 30 07 DEC 02 Raphaely 30 18 MAY 03 Khoo 40 07 JUN 02 Mavris 50 01 MAY 03 Kaufling 50
  • 我的重力代码应该放在 p5.js 中的哪里?

    我正在尝试为我的 p5 js 草图添加重力 但我不明白该怎么做 这是我到目前为止的代码 Jumping facing forwards stroke 100 noFill rect 220 60 50 80 noStroke fill 0
  • 如何从 Sinatra 中删除路线?

    我有一些动态加载的插件 它们在启动时注册它们的路由 但是我还需要能够在禁用它们时删除它们的路由 有没有办法删除现有的路线 API 没有任何我能找到的方法来删除它们 我能想到的唯一其他方法就是直接访问 Sinatra Base 中的 rout
  • 如何使用 python re 库分割字符串并保留分隔符?

    这是我的代码 import re string r Option A Option B Option C Option D word list re split r string gt Option A Option B Option C
  • 为了提高性能,我应该将 javascript 和 css 文件合并为一个吗? [复制]

    这个问题在这里已经有答案了 YSlow 报告表明 我在特定页面上有许多 javascript 文件 这些文件应该合并为一个 我在特定页面上有许多 css 文件 这些文件应该合并为一个 Q1 任何机构都可以详细说明这一点 如何才能快速地将它们
  • OpenGL 和多个 GPU - 一般可能性

    我想知道 是否可以在多个 GPU 上同时运行多窗口 OpenGL 应用程序 更具体地说 假设我创建了一个应用程序 其中有两个窗口 每个窗口彼此共享 GL 上下文 现在 如果我将其中一个窗口从显示器 1 在 GPU 1 上运行 移动到显示器
  • Maven 不会使用 1.7 JDK 编译 Java 7

    我一定是反对 Maven 的 因为每次我尝试使用它时 我都会花很多时间挣扎 然后就放弃了 我的最新情况是 尽管有 1 7 JDK 但我无法编译 Java 7 源代码 这是输出mvn compile 有趣的是 当我使用 Maven 3 0 4
  • 我们可以传递一个参数来查看某个类中其他类的加载情况或视图将出现吗

    抱歉 如果这不是标准问题 但现在您的解决方案可以帮助我 在我的应用程序中 我有两个类 ClassA and ClassB ClassB其中有一个表视图 我正在使用查询来填充表视图ClassB 但是我必须查询的列名是我从中得到的ClassA
  • knitr pandoc:“无法使用 pdf writer 生成 pdf 输出”

    Up front using pandoc 在knitr中 当尝试将 md或 Rmd编译为PDF时 它会抱怨 我正在简化流程可重复的研究 正如许多地方所记录的那样 我在用着pandoc and knitr并制作出色的文档 我还试图为一些不太
  • 如何使用SendInput模拟向上键按下(或其他扩展键)

    我正在尝试以编程方式模拟按下键盘上的向上箭头键以进行端到端测试 使用以下代码 GUI 控件不会接收消息 WM KEYDOWN WM GETDLGCODE WM KEYUP 我使用 Spy 来检测传入的消息 你知道为什么 你能建议另一个解决方
  • 从我的外接程序调用第 3 方 Outlook 外接程序按钮

    我正在寻找为 Outlook 创建一个插件 当邮件项目添加到某个文件夹时 它将调用另一个第 3 方插件的附加和转发功能 但是我不确定如何找到此按钮以调用它 所需的按钮显示在收件箱屏幕上 当在左下角选择邮件时 但在打开邮件 双击 时不会显示在
  • 模型形式中的值错误

    我正在使用模型表单来获取播放列表及其项目 它还包含登录脚本 我正在尝试将当前登录的用户设置为用户模型 你可以看看我之前发过的这篇文章如何避免这个下拉组合框 https stackoverflow com questions 8763612