我想用像param这样的动态字段构建更新django queryset
。示例我的字段是planned
:
def update_data(period, old_planned, new_planned):
Cost.objects.filter(period=period).update(
planned=F('planned') - old_planned + new_planned)
如果我想像planned
那样传递def
字段像def(period, old_planned, new_planned, update_field)
中的param输入,如何保持使用F
里面?
period
字段为了概括,我添加了一个额外的参数,param_value
并将old_planned
更改为old_param_value
和new_planned
更改为new_param_value
def update_data(period, param_value, old_param_value, new_param_value):
update_kwargs = {param_value:F(param_value) - old_param_value + new_param_value}
Cost.objects.filter(period=period).update(**update_kwargs)