save() 기본적으로 저장 후 sql 문에서 모든 필드가 업데이트된 것을 확인할 수 있으며, save 값은 이전에 얻은 필드 값이 캐시되어 반드시 최신 값은 아닙니다. . 프로세스의 다른 곳에서 업데이트되었을 수 있습니다.
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;
update는 지정된 필드를 업데이트합니다
UPDATE `pxb_sx2_test` SET `position` = 441 WHERE `pxb_sx2_test`.`id` = 1751;
둘이 동시에 사용되거나 다른 장소에서 사용되지만 동시에 업데이트될 수 있으므로 업데이트할 가능성이 있지만 데이터베이스의 값은 변경되지 않습니다. 실제로 업데이트 후 우연히 오래된 필드 값이 저장되어 업데이트가 되지 않았던 것 같습니다. Django 1.5 이후에는 save에서 지정된 필드만 업데이트하기 위해 매개변수를 추가할 수 있습니다. 참고
test.position = 441 test.save(update_fields=['position'])