我明白validate_unique
做full_clean
,这又只是调用ModelForm.save()
当调用时,才会调用 - 这样就意味着validate_unique
不会自动被调用做一个model_instance.save()
django两次调用validate_unique - 解决方法?
例如当。看到这样的回答:https://stackoverflow.com/a/14472335/996792
我做要调用model_instance.save
所以我重写我的模型的save
功能时调用validate_unique
如下:保存时现:
def save(self, *args, **kwargs):
self.validate_unique()
super(MyModel, self).save(*args, **kwargs)
然而,这会产生以下怪癖从ModelForm
(例如在管理员中),validate_unique
被调用两次!推测一次为ModelForm.save()
,一次为Model.save()
。
无论如何围绕这种低效率?
我讨厌不必要的残酷,这种事情困扰着我。