Това е типично състезание. Той проверява дали въведеният от вас ключ съществува; ако не го направи, той прави вмъкване, но някой друг може да вмъкне ключа между преброяването и вмъкването. Транзакциите не пречат на това.
Кодът изглежда очаква това и се опитва да се справи с него, но когато погледнах кода за справяне с този случай, веднага видях, че е счупен. Докладвано тук:http://code.djangoproject.com/ticket/11569
Силно препоръчвам да се придържате към бекенда на memcache.