gpt4 book ai didi

python - View 函数中将查询集类型转换为 list() 错误 - 适用于 shell

转载 作者:行者123 更新时间:2023-11-30 23:51:31 25 4
gpt4 key购买 nike

我有以下代码:

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 尝试时运行良好。在 View 函数中运行它时出现以下错误:

list() 恰好接受 2 个参数(给定 1 个)

可能是什么问题?

最佳答案

内置列表已在本地范围内被覆盖。如果您确实想使用 list(),这里是一个解决方法的示例:

def list(a, b): pass # somewhere list is redefined
try:
c = list() # so this will fail
except TypeError as e:
print "TypeError:", e # with this error
from __builtin__ import list as lst # but we can get back the list builtin
c = lst() # and use it without overriding the local version of list
print c

就您而言,最小的更改是将 ids=list(ids) 替换为

ids = __import__('__builtin__').list(ids)

这根本不会改变你的命名空间,但让我很难过。

编辑:请参阅@Alex-Laskin 的评论,了解一种更简单的一次性方法。

关于python - View 函数中将查询集类型转换为 list() 错误 - 适用于 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6741748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com