Меня не волнуют проблемы параллелизма.
Относительно легко создать уникальное поле формы:
from django import forms
class UniqueUserEmailField(forms.CharField):
def clean(self, value):
self.check_uniqueness(super(UniqueUserEmailField, self).clean(value))
def check_uniqueness(self, value):
same_user = users.User.all().filter('email', value).get()
if same_user:
raise forms.ValidationError('%s already_registered' % value)
чтобы можно было добавлять пользователей на лету. Редактировать существующего пользователя сложно. Это поле не позволит сохранить пользователя, имеющего электронную почту другого пользователя. В то же время это не позволило бы сохранить пользователя с тем же адресом электронной почты. Какой код вы используете для помещения поля с проверкой уникальности в ModelForm?