DjangoのPreSaveで保存しないようにする方法

Djangoで特定の条件の場合保存しないようにエラーにしたい場合があると思います。

そんな時に、pre_save関数を作成して、エラーにすることができます。

from django.db.models.signals import pre_save
from django.core.exceptions import ValidationError
from myapp.models import MyModel

def prevent_save(sender, instance, **kwargs):
    raise ValidationError('Save operation is not allowed.')

pre_save.connect(prevent_save, sender=MyModel)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です