#summary Task entity model
#labels Phase-Design,Contents-Skeleton,Design-Model

_*Eventually, this topic should be populated by the output of*_ `pydoc`.

{{{
class Task(db.Model):
  """Model of a Task, which is a Proposal to be completed by Contributors.

  A Task brings along a Proposal that was used to initiate the Task.  A Task
  may have a unique collection of Reviews, in addition to those attached to
  the original Proposal.

  A Task entity participates in a number of relationships:

   proposal)  a required many:1 relationship with the Proposal on which the
     Task is based.  A Task may be based on only a single Proposal, but a
     Proposal can be the foundation for multiple Tasks.  The back-reference
     in the Proposal model is a Query named 'tasks'.  

   contributors)  a required many:many relationship associating all of
     the Contributors to a Task to the specific Task.  See the
     TasksContributors model for details.
  """
  proposal = db.ReferenceProperty(reference_class=Proposal, required=True,
                                  collection_name="tasks")
}}}

----
_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]
