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 に答える