根据条件拆分 vals
Split vals depending on condition
我需要拆分 invoice.number 就像如果有白色-space Serial 是第一部分,Number 是第二部分。但是,如果没有 whitespace,那么 Serial 将保持空白,Number 将全部为 invoice.number。我该怎么做?
我需要在我的 for 循环中创建一些 IF 语句吗?
更新
例如 invoice.number 是 AA 555,所以序列号是 AA,编号是 555,但是如果 invoice.number 是 AA555,序列号是 "",编号是 AA555。但我们不知道 invoice.number 会是什么
for line in invoice.invoice_line_ids:
vals = {
'Serial': invoice.number or '',
'Number':invoice.number or '',
}
因为 values 是一个字典,所以你可以非常简单地使用它,
def parse(number):
resultList = []
resultDirt = dict()
tempList = number.split(" ")
if len(tempList) > 1:
resultDirt['Serial'] = tempList[0]
resultDirt['Number'] = tempList[1]
else:
resultDirt['Serial'] = ""
resultDirt['Number'] = tempList[0]
resultList.append(resultDirt)
print(resultList)
return resultList
parse("1321321 jkhhkhk")
parse("13215465465")
输出是,
[{'Number': 'jkhhkhk', 'Serial': '1321321'}]
[{'Number': '13215465465', 'Serial': ''}]
我需要拆分 invoice.number 就像如果有白色-space Serial 是第一部分,Number 是第二部分。但是,如果没有 whitespace,那么 Serial 将保持空白,Number 将全部为 invoice.number。我该怎么做? 我需要在我的 for 循环中创建一些 IF 语句吗?
更新
例如 invoice.number 是 AA 555,所以序列号是 AA,编号是 555,但是如果 invoice.number 是 AA555,序列号是 "",编号是 AA555。但我们不知道 invoice.number 会是什么
for line in invoice.invoice_line_ids:
vals = {
'Serial': invoice.number or '',
'Number':invoice.number or '',
}
因为 values 是一个字典,所以你可以非常简单地使用它,
def parse(number):
resultList = []
resultDirt = dict()
tempList = number.split(" ")
if len(tempList) > 1:
resultDirt['Serial'] = tempList[0]
resultDirt['Number'] = tempList[1]
else:
resultDirt['Serial'] = ""
resultDirt['Number'] = tempList[0]
resultList.append(resultDirt)
print(resultList)
return resultList
parse("1321321 jkhhkhk")
parse("13215465465")
输出是,
[{'Number': 'jkhhkhk', 'Serial': '1321321'}]
[{'Number': '13215465465', 'Serial': ''}]