Джанго. Поточное обновление или создание.

Мы знаем, что обновление - это потокобезопасная операция. Это означает, что когда вы делаете:

  SomeModel.objects.filter(id=1).update(some_field=100)

Вместо:

sm = SomeModel.objects.get(id=1)
sm.some_field=100
sm.save()

Ваше приложение является относительно потокобезопасным и операция SomeModel.objects.filter(id=1).update(some_field=100)не будет переписать данные в другие поля модели.

Мой вопрос. Есть ли способ сделать

  SomeModel.objects.filter(id=1).update(some_field=100)

, но с созданием объекта, если он не существует?

13
задан Nikolay Fominyh 3 April 2012 в 09:02
поделиться