【问题标题】:TypeError in view: Field expected a number but got SimpleLazyObject视图中的 TypeError:字段需要一个数字但得到 SimpleLazyObject
【发布时间】:2020-08-27 14:00:24
【问题描述】:

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

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

失败的代码行是这样的:

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

有什么想法我可能做错了吗?

谢谢!

【问题讨论】:

    标签: django django-views django-3.1


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 如果您添加关于问题和答案的最小解释会更有帮助。
    • 是的,但我认为所有正在寻找快速解决方案的人都会在这里找到它,而那些寻求解释的人可以去链接,不是吗?
    • 是的,但是,作为魔鬼的拥护者,我认为该链接将来可能会过期:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 2020-12-23
    • 2021-08-31
    • 2021-07-20
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多