如果它确实一直到数据库,它显然是一个IntegrityError.但是,如果在它进入数据库之前发生了这种情况- 例如,在Manager类的save方法中 - 什么是引发的正确异常?
例:
class MyManager(models.Manager):
def create_from_user(self, user):
try:
existing = self.get(user=user)
raise Exception("There is already an object for this user.") # more specific exception needed
except self.DoesNotExist:
# begin creating the record
Run Code Online (Sandbox Code Playgroud)
由于记录的性质,我不想要一个get_or_create类型的情况(我希望在记录已存在时使用此方法是一个抛出异常的硬错误).
假设我在表上放置了唯一的约束,显然最终会抛出一个IntegrityError,但我宁愿不依赖它,而是在代码中明确这一点.但我不确定哪种例外最准确(或者我必须自己动手).
| 归档时间: |
|
| 查看次数: |
2400 次 |
| 最近记录: |