app/soc/models/work.py
changeset 181 fdd29818a954
parent 54 03e267d67478
child 206 832335761384
equal deleted inserted replaced
180:a1c6123f9d06 181:fdd29818a954
    20   '"Todd Larsen" <tlarsen@google.com>',
    20   '"Todd Larsen" <tlarsen@google.com>',
    21   '"Sverre Rabbelier" <sverre@rabbelier.nl>',
    21   '"Sverre Rabbelier" <sverre@rabbelier.nl>',
    22 ]
    22 ]
    23 
    23 
    24 from google.appengine.ext import db
    24 from google.appengine.ext import db
       
    25 from soc.models import base
    25 
    26 
    26 
    27 class Work(base.ModelWithFieldAttributes):
    27 class Work(db.Model):
       
    28   """Model of a Work created by one or more Authors.
    28   """Model of a Work created by one or more Authors.
    29 
    29 
    30   Work is a "base entity" of other more specific "works" created by "authors".
    30   Work is a "base entity" of other more specific "works" created by "persons".
    31 
    31 
    32   A Work entity participates in the following relationships implemented
    32   A Work entity participates in the following relationships implemented
    33   as a db.ReferenceProperty elsewhere in another db.Model:
    33   as a db.ReferenceProperty elsewhere in another db.Model:
    34 
    34 
    35    proposal), survey), documentation)
    35    proposal), survey), documentation)
    41      relationship names correspond, respectively to these Models:
    41      relationship names correspond, respectively to these Models:
    42        Proposal, Survey, Documentation
    42        Proposal, Survey, Documentation
    43      The relationships listed here are mutually exclusive.  For example,
    43      The relationships listed here are mutually exclusive.  For example,
    44      a Work cannot be both a Proposal and a Survey at the same time.
    44      a Work cannot be both a Proposal and a Survey at the same time.
    45 
    45 
    46    authors)  a many:many relationship with Authors, stored in a separate
    46    persons)  a many:many relationship with Persons, stored in a separate
    47      WorksAuthors model.  See the WorksAuthors model class for details.
    47      WorksPersons model.  See the WorksPersons model class for details.
    48 
    48 
    49    reviews)  a 1:many relationship between a Work and the zero or more
    49    reviews)  a 1:many relationship between a Work and the zero or more
    50      Reviews of that Work.  This relation is implemented as the 'reviews'
    50      Reviews of that Work.  This relation is implemented as the 'reviews'
    51      back-reference Query of the Review model 'reviewed' reference.
    51      back-reference Query of the Review model 'reviewed' reference.
    52   """
    52   """