Try defining primary and user as unique_together:
https://docs.djangoproject.com/en/dev/ref/models/options/#unique-together

You should get a ValidationError as an exception when saving if there's already a copy, but I can't see why it would happen in the first place.
Is it possibly cached somewhere? What happens if you double-click the save button?