RZs answer is actually nearly correct. I don't know if it's the best way, but it works. So for this one time purpose you can use it.
However, I would like to add and correct some stuff.
from django.contrib.auth.models import User
def delete_duplicate_users():
// first find all email addresses (with kind of a 'group by')
emails = User.objects.values('email').distinct()
for e in emails:
users = User.objects.filter(email=e['email']).order_by('date_joined')[1:]
for u in users:
u.delete()
I tried this with a small example and it worked. But I highly recommend that you test this before you actually use it on your production system!
Hope that helps you.
// Edit
I also would recommend that you don't allow adding users if the email is already registered. There should be some built in method to achieve this. And if not you could subclass the Djangos User model with you own User model and override the save method.