views:

225

answers:

2

There was a nearly similar question: http://stackoverflow.com/questions/1160030/how-to-make-email-field-unique-in-model-user-from-contrib-auth-in-django

The solution was not perfect: Validating email for uniqueness. The solution provided is rather funny. It disallows modifications to User that leave email intact. How to fix it? Thanks in advance!

A: 

Thanks to Ofri Raviv but what I've seen is not what I needed. So I resolved my own issue and now I'd like to share the tips:

  1. Use username instead of email, exclude email from the form. Mask its label as email.

  2. Subclass User and create a UNIQUE field which receives email addresses, mask it as email, exclude original email field from the form.

It's that simple but took me some time. Hope it help others with the same need.

Viet
+2  A: 

in your init.py

from django.contrib.auth.models import User

User._meta.get_field_by_name('email')[0]._unique = True

Willian
+1 thanks. I'll try it in.
Viet