代码之家  ›  专栏  ›  技术社区  ›  Ä°lkem Çetinkaya

django在for循环内更新用法

  •  1
  • Ä°lkem Çetinkaya  · 技术社区  · 6 年前

    在Django中,即使所有内容都是正确的,我也无法更新数据库。(我假设:)

    • 我应该继续查询“get”而不是“filter”并使用“save”

      for thing_id, values_dict in groups.items():
              for value_id, value_value in values_dict.items():
                  qs = RFP.objects.filter(id__in=thing_id)
                  updates = {}
                  if value_id == '350':
                      if len(value_value) > 1:
                          updates['P_350'] = value_value
                  if value_id == '450':
                      if len(value_value) > 1:
                          updates['P_450'] = value_value
                  if updates:
                      qs.update(**updates)
      

    397 350 try_3
    397 450 try_4
    370 350 try_1
    370 450 try_2
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Sina Khelil    6 年前

    你应该试试 qs = RFP.objects.filter(id=thing_id) 而不是 qs = RFP.objects.filter(id__in=thing_id) . 这个 __in 正在查找ID列表,您正在提供一个字符串,它将把该字符串视为一个列表。