Есть ли лучшая практика Django ORM для этого SQL:
REPLACE app_model SET field_1 = 'some val', field_2 = 'some val';
Предположение: field_1 или field_2 будет иметь уникальный ключ на них (или в моем случае на обоих), иначе это всегда будет оцениваться как INSERT.
Изменить:
Мой лучший личный ответ сейчас таков, но это 2-3 запроса, где должно быть возможно 1:
from django.core.exceptions import ValidationError
try:
Model(field_1='some val',field_2='some val').validate_unique()
Model(field_1='some val',field_2='some val',extra_field='some val').save()
except ValidationError:
Model.objects.filter(field_1='some val',field_2='some val').update(extra_field='some val')