Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aktualisieren Sie mehrere Spalten mit dem Django F()-Objekt

Zum Aktualisieren mit models.F , müssen Sie so etwas wie

konstruieren
qs.update(field_1=models.F('field_1')+field_1_delta,
          field_2=models.F('field_2')+field_2_delta, 
          ...)

Für Ihren Code könnte es sein

new_stats = {
    'NumberOfHealthPickups': 99
    # ...
}
updated_stats = {}
for stat in new_stats:
    updated_stats[stat] = models.F(stat) + new_stats[stat]
PlayerStats.objects.filter(user=user).update(**updated_stats)