Jer*_*oen 0 python string django split nonetype
我正在构建一个json,我想在ID的数组中分割逗号分隔列表ID并放入json中.问题是列表在数据库中也可以是NULL,因此在python中是None
部分代码如下:
'followupsteps': [{
'id': stepid,
} for stepid in string.split(step.followupsteps, ',')
Run Code Online (Sandbox Code Playgroud)
我尝试过这样的事情:
'followupsteps': [{
'id': stepid,
} for stepid in (string.split(step.followupsteps, ',') if not None else [])]
Run Code Online (Sandbox Code Playgroud)
和
'followupsteps': [{
'id': stepid,
} for stepid in string.split((step.followupsteps if not None else ''), ',')]
Run Code Online (Sandbox Code Playgroud)
它们都导致Django/python错误:异常值:'NoneType'对象没有属性'split'
有任何想法吗?
你想测试if是否step.followupsteps
为布尔值true:
'followupsteps': [] if not step.followupsteps else [{
'id': stepid,
} for stepid in step.followupsteps.split(',')]
Run Code Online (Sandbox Code Playgroud)
你是测试if是否not None
为True,它恰好是:
>>> bool(not None)
True
Run Code Online (Sandbox Code Playgroud)
not step.followupsteps
如果它是一个空字符串None
,数字0或一个空容器,它将为True .你也可以使用,if step.followupsteps is None
但为什么限制自己.
另一种拼写方式:
'followupsteps': [{
'id': stepid,
} for stepid in (step.followupsteps.split(',') if step.followupsteps else [])]
Run Code Online (Sandbox Code Playgroud)
但是首先只返回一个空列表,你就完全避免了空列表理解.
归档时间: |
|
查看次数: |
2781 次 |
最近记录: |