Il semble que la contrainte unique
ne soit pas prise en charge de manière native dans GAE, bien que one can enforce unique
check before putting
an object to store.Contrainte unique au niveau de données dans GAE
Mais c'était en janvier 2009, qu'en est-il maintenant? Puis-je spécifier une contrainte unique
sur une colonne lors de la création d'un schéma? c'est-à-dire
class Account(db.Model):
name = db.StringProperty()
email = db.StringProperty() as unique # something like this
@classmethod
def create(cls, name, email):
a = Account(name=name, email=email)
a.put()
return a
La prise en charge de propriétés uniques autres que le nom de clé nécessiterait des transactions globales, il est donc peu probable que nous l'ajoutions de sitôt. Pour l'instant, c'est à vous de mettre en œuvre l'unicité, par le biais de noms de clés ou d'entités «lookaside». –