Есть ли конкретные причины, по которым следует использовать `update_or_create` в Django?
Так я использовал функцию update_or_create
в Django models для апсерта строк в модели.
Хотел спросить, кроме атомарности транзакции, есть ли какие-нибудь дополнительные преимущества?
Мы всегда можем сделать
a = Models.objects.get(id=21)
a.some_field = 'new_value'
a.save()
Обычно это используется для того, чтобы иметь меньше кода, делая его короче.
Например, представьте себе веб-сайт с методами "Регистрация аккаунта", а затем "Редактирование аккаунта".
Вы можете либо иметь разную логику для каждого метода, либо иметь одну и ту же логику для обоих и использовать update_or_create.
Таким образом, вы можете сократить свой код, избегая наличия схожей логики в разных частях кода.