Je ne me soucie pas des problèmes de concurrence.Champ ModelForm unique et de base pour Google App Engine
Il est relativement facile de construire champ de formulaire unique:
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)
donc on pourrait ajouter des utilisateurs sur la volée. L'édition d'un utilisateur existant est difficile. Ce champ ne permettrait pas d'enregistrer l'utilisateur ayant d'autres courriels d'utilisateur. Dans le même temps, il ne permettrait pas d'enregistrer un utilisateur avec le même e-mail. Quel code utilisez-vous pour mettre un champ avec une vérification d'unicité dans ModelForm?