my queryset :
Status.objects.filter(date__gte='2017-07-05', date__lt='2017-07-09', type='X').update(value=F('value') + 1)
我的数据库 :
date | value | value1 | value2 | type
2017-07-05 | 0 | 0 | 0 | X
2017-07-06 | 0 | 0 | 0 | X
2017-07-07 | 0 | 0 | 0 | X
2017-07-08 | 0 | 0 | 0 | X
2017-07-09 | 0 | 0 | 0 | X
2017-07-10 | 0 | 0 | 0 | X
我有两个问题,但我上面的查询集不起作用。
1 - 如何更新日期范围内的字段"值"?
2 - 如何用变量替换"值"?
update(值 = F('值'( + 1(
我需要从数据库中动态选择字段(值 1、值 2、值 3(来更改值。
您可以使用此变量来路径字段名称。
somename='some_field' #value.value1,... in your case
Status.objects.filter(Q(date__gte='2017-07-05'), Q(date__lt='2017-07-09'), Q(type='X')).update(**{somename: F(somename)+1})