0

我将 uuid 设置为在模型中是唯一的,并且以下代码应该防止任何重复问题,但如果 uuid 已经存在,它会生成一个 IntegrityError。

即使存在具有请求的 uuid 的视频对象,get 似乎也会返回 false。知道为什么会发生这种情况吗?

try:
    v = Video.objects.get(uuid = video_id)
except Video.DoesNotExist:
    v = Video(uuid = video_id)
    v.save()
4

1 回答 1

0

IntegrityError是发生重复键之类的情况时将引发的预期异常。这就是你捕捉情况的方式。

您应该关注的是失败的查询:

v = Video.objects.get(uuid = video_id)

如果您知道 Video 对象确实已经存在于 中video_id,那么您应该检查以确保类型video_id正确。除此之外,其余的行为似乎是意料之中的。

于 2012-06-30T04:53:51.323 回答