【发布时间】:2015-12-22 14:01:22
【问题描述】:
我有以下代码:
user=User.objects.get(username=uid)
我通过 url "/profile/showprofile/{{post.author}}" 传递 uid 的值。我的 post.author 包含值为“dean88”。
运行表单并单击带有上述网址的链接。我收到一条错误消息,提示 invalid literal for int with base 10 "dean88"。
但是当我去 python shell 并给出: user=User.objects.get(username='dean88') 我仍然得到同样的错误。仅当我将用户的 id 输入为整数时,该错误才会出现。比如,user=User.objects.get(username=2)。
可能是什么问题以及如何避免?
【问题讨论】:
-
你指的
User是django默认的User模型吗? -
是的。指的是django的User模型
-
dean88看起来不像一个 id,它是一个整数。尝试将其更改为{{post.author.id}} -
在进一步阅读您的 OP 两次之后,我认为您一定是创建了用户,为
.username属性分配了错误的值(即,用户是用2创建的,而不是dean88用户名。您可以通过管理界面查看,或者直接通过数据库数据上的pgadmin更好)
标签: python django python-2.7 django-models django-forms