Вы можете проверить self.instance.pk
, чтобы увидеть, была ли модель ранее сохранена.Однако это может быть ненадежным в случае, когда вы создали новый экземпляр модели, а затем инициализировали форму модели с этим экземпляром, прежде чем сохранить его.
Другая возможность, основанная на исходном коде BaseModelForm в Django 1.2, этопроверить self.instance._adding
, который будет True, если модель была создана, и False в противном случае.Тем не менее, я не проверял это, поэтому YMMV.
Если первый вариант сработает, я бы порекомендовал использовать его, а не недокументированную функцию ModelForms - в будущем она изменится реже и, вероятно, станет более понятной.