class mealShifts(models.Model):Sunday = "Sunday"Monday = "Monday"Tuesday = "Tuesday"Wednesday = "Wednesday"Thursday = "Thursday"Friday = "Friday"Days = ((Sunday, "Sunday"),(Monday, "Monday"),(Tuesday, "Tuesday"),(Wednesday, "Wednesday"),(Thursday, "Thursday"),(Friday, "Friday"),)Breakfast = "Breakfast"Dinner = "Dinner"Meals = ((Breakfast, "Breakfast"),(Dinner, "Dinner"),)Chef = "Chef"Sous_Chef = "Sous-Chef"KP ="KP"Shifts = ((Chef, "Chef"),(Sous_Chef, "Sous_Chef"),(KP, "KP"),)assigned = models.BooleanField(default=False)day = models.CharField(max_length = 10, choices=Days, default=Sunday)meal = models.CharField(max_length = 10, choices=Meals, default=Dinner)shift = models.CharField(max_length = 10, choices=Shifts, default=KP)camper = models.OneToOneField(User)class Meta:unique_together = ("day", "meal", "shift")def __str__(self):return '%s %s %s %s'%(self.day, self.meal, self.shift, self.camper)
def signup(request):shifts = mealShifts.objects.all()username = Noneif not request.user.is_authenticated():returnif request.method == 'POST':form = MealForm(request.POST)if form.is_valid():shift = form.save(commit=False)shift.camper = request.usershift.save()return redirect('signup')else:form = MealForm()return render_to_response('signup.html',RequestContext(request, {'form':form,'shifts':shifts, 'username':username},))
<h2>Shifts</h2><div id="datatable"><ul>{% for shift in shifts %}<li>{{shift.camper}} {{shift.day}} {{ shift.meal }} </li>{% endfor %}</ul></div></div>