Save vs Update in Django - Deepstash

Bite‑sized knowledge

to upgrade

your career

Ideas from books, articles & podcasts.

published 6 ideas

Save vs Update in Django

helmut.dev

The ".save()" method is used to write a model instance to the database. It can be an existing record or even a new one. For an existing record, Django will run a SQL UPDATE statement on the database. For a new record, Django will run an INSERT.

STASHED IN:

2

When updating an existing record, Django will update every field. That means, if you changed only one field on the model instance, all the fields will be updated (with the values staying the same). This is inefficient, especially if the model has many fields.

Another problem is that if ther...

1

STASHED IN:

2

To prevent updating every field of the model you can use the update_fields parameter. It expects a list of fields that you want to save. The UPDATE that is run against the database then only updates those fields that you have specified.

For example, in case we only want to update the price ...

STASHED IN:

2

  • when creating a new record.
  • you have a model instance already, and you need to change some field values.
  • you've overridden the save() method to include some custom model logic.
  • you defined pre_save and post_save signals for that model.

STASHED IN:

2

The ".update()" method is available on each queryset object of the ORM. For example, "Toy.objects.filter(price__lt=50).update(price=50)".

This would update the price of all toys that are below a certain price. While this is for a range of records, it could also be used to update a single re...

STASHED IN:

2

  • you are updating fields of one or many records (note: update cannot be used to create a new record, like save can).
  • you don't need to re-use a model instance after updating.
  • you don't need your overridden save() method or any pre_save or post_save signals to run.
  • you ...

STASHED IN:

2

0 Comments

IDEAS ABOUT

Discover and save more ideas by creating a

FREE

Deepstash account.

Develop a

reading habit

, save

time

and create an amazing

knowledge library

.

GET THE APP:

MORE LIKE THIS

Data validation using Pydantic in python

5 IDEAS

Goal: To provide a simple way to get up and running a high-performance HTTP server that is easy to build, expand, and ultimately to scale.

3 IDEAS