Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我将 uuid 设置为在模型中是唯一的,并且以下代码应该防止任何重复问题,但如果 uuid 已经存在,它会生成一个 IntegrityError。
即使存在具有请求的 uuid 的视频对象,get 似乎也会返回 false。知道为什么会发生这种情况吗?
try: v = Video.objects.get(uuid = video_id) except Video.DoesNotExist: v = Video(uuid = video_id) v.save()
IntegrityError是发生重复键之类的情况时将引发的预期异常。这就是你捕捉情况的方式。
IntegrityError
您应该关注的是失败的查询:
v = Video.objects.get(uuid = video_id)
如果您知道 Video 对象确实已经存在于 中video_id,那么您应该检查以确保类型video_id正确。除此之外,其余的行为似乎是意料之中的。
video_id