Itu ras yang khas. Ia memeriksa apakah kunci yang Anda masukkan ada; jika tidak, ia melakukan penyisipan, tetapi orang lain dapat menyisipkan kunci di antara hitungan dan sisipan. Transaksi tidak mencegah hal ini.
Kode tampaknya mengharapkan ini dan mencoba mengatasinya, tetapi ketika saya melihat kode untuk menangani kasus ini, saya dapat segera melihat bahwa kode itu rusak. Dilaporkan di sini:http://code.djangoproject.com/ticket/11569
Saya sangat menyarankan untuk tetap menggunakan backend memcache.