Djangoでは、save()を使ってレコードを作成したり更新したりすると思います。
オブジェクトが新規作成される場合はINSERT。そうでない場合はUPDATEとDjango側が自動的に切り分けてくれます。
これは、DBレイヤーでは、
ということをしてくれています。
でも、毎回必ずINSERTしたい場合はどうでしょう?
その場合は、
のいずれかで対応出来できます。
主キーが重複した場合はsave() / create()できず、「IntegrityError」例外が発生します。
http://djangoproject.jp/doc/ja/1.0/ref/models/querysets.html
save()やcreate()時に明示的に例外を発生させたい場合がシチュエーションによってはあろうかと思います。
そんなときは、上記の方法を試してみて下さい。