视图中的TypeError:字段需要一个数字,但得到了SimpleLazyObject

时间:2020-08-27 14:00:24

标签: django django-views django-3.1

我升级到django v3.1,突然收到此错误:

字段'id'需要一个数字,但得到了

失败的代码行是这样的:

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

有什么主意我可能做错了吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

在四处搜寻之后,我发现了这个post by Aaron O. Ellis

诀窍不是直接使用kwargs,而是使用带有self的视图类:

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

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