如何验证Django中的对象创建?

时间:2010-05-22 19:41:31

标签: python django

我想验证我创建的对象是否真的被创建,并根据它返回True或False:

obj = object(name='plop')
try:
 obj.save()
 return True
except ???:
  return False

如何验证对象创建?

2 个答案:

答案 0 :(得分:2)

首先 - 你正在做的这是一个不好的做法

第二个唯一可能发生异常的情况是数据库连接失败或某些约束或必需的字段未设置..在这种情况下会引发db-backend.OperationalError

更新:在约束失败时出现IntegrityError异常

答案 1 :(得分:1)

save()也可以引发其他异常,例如django 1.2中的ValidationError,或者如果重写了save()方法,则引发任何异常。

我没有看到尝试save()和捕获异常有什么特别的错误。如果由于某种原因你更喜欢检查一个布尔返回值而不仅仅是捕获异常(通常不是如何在python中完成),那么你就有了正确的想法。只是改变除了???:除了异常:

毕竟你想在任何预期的失败时返回False。