| #summary The User entity model |
| #labels Phase-Design,Contents-Skeleton,Design-Model |
| |
| The User entity stores a single private user email address and login |
| credentials in the [http://code.google.com/appengine/docs/datastore/ |
| Datastore]. The User |
| [http://code.google.com/appengine/docs/datastore/entitiesandmodels.html#The_Model_Interface Model] currently contains only a single |
| [http://code.google.com/appengine/docs/datastore/typesandpropertyclasses.html#UserProperty UserProperty]. |
| |
| It is important to keep in mind that a given User can have more than one |
| [UserRoles role] at a time in a given Program and can also participate in more |
| than one Program. Contrast this with the [PersonModel Person entity] which |
| can only participate in a single Program. |
| |
| _*Eventually, this topic should be populated by the output of*_ `pydoc`. |
| |
| {{{ |
| class User(db.Model): |
| """A user and associated login credentials, the fundamental identity entity. |
| |
| User.id is a Google Account, which also provides a "private" email address. |
| |
| User is a separate Model class from Person because the same login ID may be |
| used to, for exmaple, serve as Contributor in one Program and a Reviewer in |
| another. |
| |
| Also, this allows a Person to, in the future, associate that Person entity |
| with a different Google Account if necessary. |
| |
| A User entity currently participates in only a single relationship: |
| |
| persons) a 1:many relationship of Person entities identified by the |
| User. This relation is implemented as the 'persons' back-reference |
| Query of the Person model 'user' reference. |
| |
| """ |
| id = db.UserProperty(required=True) |
| }}} |
| |
| ---- |
| _Copyright 2008 Google Inc._ |
| _This work is licensed under a_ |
| [http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html Creative Commons Attribution 2.5 License]. |
| [http://creativecommons.org/licenses/by/2.5/ http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png] |