【问题标题】:Django Queryset two problemsDjango Queryset 两个问题
【发布时间】:2017-12-09 17:40:21
【问题描述】:

我的查询集:

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 - 如何用变量替换“值”?

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

我需要从数据库中动态选择字段(value1,value2,valuse3)来更改值。

【问题讨论】:

    标签: django django-models django-forms django-views django-queryset


    【解决方案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})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-23
      • 2018-02-13
      • 2012-09-12
      • 2011-04-06
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      相关资源
      最近更新 更多