我正在使用 Django 1.10.2。
在 View 中,下面返回[]
print(request.POST.getlist('collected_already', None))
print(request.POST.getlist('collected_already[]', None))
print(request.POST.getlist('non_existent', None))
print(request.POST.getlist('non_existent[]', None))
我希望对不存在的键返回 None,并在发送空列表时返回 []。
我的解决方法是发送和检测 ['blank'] 而不是 []。
非常感谢指点。安迪,祝你好运。
最佳答案
getlist
默认返回空列表 []
。如果您传递 default=None
,那么它会被视为“未指定默认值”,而不是“默认为 None”。
如果你想将空列表[]
强制转换为None
,那么你可以简单地在表达式的末尾添加或None
.
print(request.POST.getlist('collected_already') or None)
之所以可行,是因为 Python 评估 boolean expressions 的方式.如果 x
和 y
的计算结果均为 False,则 x 或 y
返回 y
。
关于django request.POST.getlist[my_list', None] 为不存在的键返回 [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40237682/