django - 视图中的 TypeError:字段需要一个数字,但得到了 SimpleLazyObject
问题描述
我升级到 django v3.1 并突然收到此错误:
字段 'id' 需要一个数字,但得到 <SimpleLazyObject: '23'>。
失败的代码行是这样的:
my_obj = get_object_or_404(MyModel, pk=kwargs.get('pk'))
有什么想法我可能做错了吗?
谢谢!
解决方案
经过一番谷歌搜索后,我发现了 Aaron O. Ellis 的这篇文章。
诀窍不是kwargs
直接使用,而是从视图类中使用self
:
my_obj = get_object_or_404(MyModel, pk=self.kwargs.get('pk'))
希望这对其他人也有帮助。
推荐阅读
- c++ - 将指向函数的指针从类转换为普通指针的问题
- angular - *ngFor 中的 Angular 复选框
- excel - 使用宏计算条件格式单元格的数量
- php - laravel 中是否有任何配置可以在堆栈跟踪期间禁用函数参数日志记录?
- python - 使用 Python Selenium 追溯 SSL 错误和不可点击的项目
- php - PHP API 调用适用于本地主机、邮递员但不适用于实时网站
- php - php explode 和 foreach 只返回一个循环
- typescript - TypeScript 编译器 API 的“模块解析缓存”应该如何使用?
- java - 如何使用 javax.sound.sampled.LineListener?
- java - 如何在 onCreateView 中使用毕加索?