在视图函数中将查询集打字转换为 list() 错误 - 在 shell 上工作
我有以下代码:
s = StoryCat.objects.filter(category=c)
ids=s.values_list('id',flat=True)
ids=list(ids)
str= json.dumps( ids )
return HttpResponse(str)
使用 python shell 尝试时运行良好。在视图函数中运行它时,出现以下错误:
list() 恰好需要 2 个参数(给定 1 个),
这可能是什么问题?
sI have the following code:
s = StoryCat.objects.filter(category=c)
ids=s.values_list('id',flat=True)
ids=list(ids)
str= json.dumps( ids )
return HttpResponse(str)
This runs fine when trying it with python shell. when running it in a view function I get the following error:
list() takes exactly 2 arguments (1 given)
what could be the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
内置列表已在本地范围内被覆盖。如果您确实想使用 list(),这里是一个解决方法的示例:
在您的情况下,最小的更改是将
ids=list(ids)
替换为它不会更改您的命名空间一切,却让我悲伤。
编辑:请参阅@Alex-Laskin 的评论,了解一种更简单的一次性方法。
The list builtin has been overridden in the local scope. Here is an example of a workaround if you really want to use list():
In your case, a minimal change would be to replace
ids=list(ids)
withwhich doesn't change your namespace at all, but makes me sad.
Edit: See the comment by @Alex-Laskin for a simpler one-off way of doing this.