classJob(models.Model):def__unicode__(self):returnself.name
name=models.CharField('Job Name',max_length=128)# when the job was createddate_created=models.DateTimeField('Date Created',auto_now=True)# what entity/organization needs this job?client_organization=models.CharField('What organization do you represent?',max_length=64)# short descriptiondescription=models.TextField('Job Description',max_length=256)# end product to be delivereddeliverable=models.TextField('Deliverable',max_length=256)# when Job is due for completionduedate=models.DateTimeField('Date Due')# all persons who may be affected by project#stakeholders = models.TextField('Stakeholders')# important technical requirements#additional_information = models.TextField('Additional Information', blank = True)# budget estimate#budget = models.CharField('Budget', max_length=64)# file attachments#attachments = models.FileField(upload_to='job', blank = True)creator=models.ForeignKey(User,related_name='jobs')organizations=models.ManyToManyField(Organization,through='JobRequest',blank=False,null=True)#organizations = models.CharField(default="nothing",null=True,max_length = 256)contact_information=models.CharField('Contact Information',max_length=256,blank=False,null=True)skill_required=models.CharField('Volunteer skills required',max_length=256,blank=False,null=True)hours_day=models.CharField('Number of hours per day',max_length=256,blank=False,null=True)# Job is closed after a jr is confirmedclosed=models.BooleanField(default=False)# some tags to determine what organizations to submit job tocategories=models.ManyToManyField(Category,related_name='jobs')#categories = models.CharField(default="nothing",null=True, max_length = 256)status=models.IntegerField(default=0,choices=((0,'Pending'),(1,'Approved'),(2,'Disapproved'),(3,'Closed')))classMeta:permissions=(('view_job','Can view Job'),('edit_job','Can edit Job'),('is_creator','Is a creator of Job'))