django - View : Field expected a number but got SimpleLazyObject 中的类型错误

标签 django django-views django-3.1

我升级到 django v3.1 后突然出现这个错误:

Field 'id' expected a number but got <SimpleLazyObject: '23'>.

失败的代码行是这样的:

my_obj = get_object_or_404(MyModel, pk=kwargs.get('pk'))

知道我可能做错了什么吗?

谢谢!

最佳答案

经过一番谷歌搜索后,我发现了这个 post by Aaron O. Ellis .

诀窍不是直接使用kwargs,而是使用self的 View 类:

my_obj = get_object_or_404(MyModel, pk=self.kwargs.get('pk'))

希望这对其他人也有帮助。

关于django - View : Field expected a number but got SimpleLazyObject 中的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63617675/

相关文章:

python - 在未引用的字段中看到换行符

python - django 中的 Slug 字段错误

python - Django 3.1 - 异步 View - 使用查询集

python - 如何计算 Django 的总工作时间?

python - Django Rest Framework - 创建和更新父子关系

python - 关于 ManyToMany 的基本 django 模型问题

python - 使用 django 1.8 持续时间字段注释一组 django 对象

python - 跨三个模型/表将 Python/Django View 写入 "join"

javascript - 我可以在不使用 django-rest 框架的情况下从 django View 传递 api 响应吗

django 3.1 将原始列别名传递给 QuerySet.order_by() 已弃用