0

私のクエリセット:Djangoのクエリセットの二つの問題

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 

私は2つの質問がありますが、私の上記のクエリセットは動作しません。

1 - どのように日付範囲のフィールド "値"を更新しますか?

2 - "値"を変数に置き換えるにはどうすればよいですか?

更新(値= F( '値')+ 1)

I動的選択フィールド(値1、値2、valuse3)の値を変更するデータベースから必要があります。

答えて

1

これを使用して、変数を使用してフィールド名をパスすることができます。

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})