Heim > Backend-Entwicklung > Python-Tutorial > Fehler in Djangos gleichzeitigen Update- und save()-Funktionen

Fehler in Djangos gleichzeitigen Update- und save()-Funktionen

高洛峰
Freigeben: 2016-11-22 14:55:16
Original
1603 Leute haben es durchsucht

save() Standardmäßig sehen Sie nach dem Speichern, dass alle Felder in der SQL-Anweisung aktualisiert wurden und der Wert des Speicherns der Feldwert ist, als er zuvor abgerufen wurde. Es wird zwischengespeichert und ist nicht unbedingt der neueste . Möglicherweise wurde es an anderer Stelle im Prozess aktualisiert

UPDATE `pxb_sx2_test` SET `user_id` = 335, `catalog_id` = 12558, `level_id` = 4, `level_status` = 0, `position` = 440, `type` = 2, `add_time` = '2016-09-14 17:44:07', `update_time` = '2016-09-14 17:53:17.077520' WHERE `pxb_sx2_test`.`id` = 175;
Nach dem Login kopieren

Update aktualisiert das angegebene Feld

UPDATE `pxb_sx2_test` SET `position` = 441 WHERE `pxb_sx2_test`.`id` = 1751;
Nach dem Login kopieren

Wenn die beiden gleichzeitig oder an verschiedenen Orten verwendet werden, aber sie Möglicherweise wird gleichzeitig aktualisiert. Es besteht die Möglichkeit einer Aktualisierung, der Wert in der Datenbank ändert sich jedoch nicht. Tatsächlich wurde nach der Aktualisierung der veraltete Feldwert gespeichert, sodass es den Anschein hatte, als wäre er nicht aktualisiert worden. Nach Django 1.5 kann save Parameter hinzufügen, um nur bestimmte Felder zu aktualisieren. Referenz

 test.position = 441
 test.save(update_fields=['position'])
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage