检查kwargs是否有效的有效方法是什么,然后相应地传递它们?

时间:2017-08-22 23:04:05

标签: python kwargs

我有以下代码,我需要做的是检查statusissueownermantis_id是否有效(非空)。根据有效性结果,我将所有有效的kwargs传递给一个名为upsert()的函数。

form=ticket_form()
status=request.form['status']
issue=request.form['ticket_issue']
owner=request.form['owner']
mantis_id=request.form['mantis_id']

这是第二部分,我传递那些作为kwargs有效的参数:

cur.execute(upsert('tbl_tickets', status=status, issue=issue, owner=owner))
connect.commit()

我可以单独检查每一个,但我想知道是否有更高效/更紧凑的方式可以使用。谢谢。

1 个答案:

答案 0 :(得分:2)

您可以这样做:

all_args = dict(
    form=ticket_form()
    status=request.form['status']
    issue=request.form['ticket_issue']
    owner=request.form['owner']
    mantis_id=request.form['mantis_id']
)
valid_args = {k: v for k, v in all_args.items() if v}
cur.execute(upsert('tbl_tickets', **valid_args))