Hi Daniel,
The best way to ensure uniqueness is to use key names. In this case, the
natural key name is the User's ID. For example:
user_account = Account(key_name = 'user:%d' % (current_user.user_id(),),
...)
This also allows you to look up user accounts without a query:
user_account = Account.get_by_key_name('user:%d' %
(current_user.user_id(),))
-Nick Johnson
On Mon, Aug 17, 2009 at 2:45 AM, Daniel Rhoden <[email protected]> wrote:
> I discovered that my 'Account' model happily created multiple instances of
> user '[email protected]' without complaint during testing. (I know, fix my
> code).
> Short question: What's the lightest way of ensuring value uniqueness
> between entity values?
>
> I've read up on the Property class constructor argument "validator" and got
> to wondering if there is a RoR-like library of prefab validators. It would
> be great if I could do something like this:
>
> from google.appengine.ext import validation
>
> class Account(db.Model):
> user = db.UserProperty(required=True, validator=*
> validation.unique(db.UserProperty)* )
> ...
>
> related resources:
> http://code.google.com/appengine/docs/python/datastore/propertyclass.html
>
> http://googleappengine.blogspot.com/2009/07/writing-custom-property-classes.html
>
> --Daniel Rhoden
>
>
>
>
> >
>
--
Nick Johnson, Developer Programs Engineer, App Engine
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---