Tuesday, 13 August 2013

List multiple models in class based list and detail views in django

List multiple models in class based list and detail views in django

I have these 4 models . There is a section where the user would be able to
view all incomplete tasks. How would I go about displaying these using the
ListView and DetailView ? In all the examples in the django docs they
always give an example just with one model. Can this be done using the CBV
or are there alternatives?
Models
class task_a(models.Model):
created_by = models.ForeignKey('auth.User')
task_complete = models.BooleanField(default=0)
q1 = models.CharField(max_length=60)
q2 = models.DateField()
q3 = models.TimeField()
q4 = models.TextField()
class Meta:
verbose_name_plural = "task_a"
def get_absolute_url(self):
return reverse('task_a')
def __unicode__(self):
return u'%s %s %s %s %s' % (self.q1, self.q2, self.q3,
self.q4,self.q5)
class task_b(models.Model):
created_by = models.ForeignKey('auth.User')
task_complete = models.BooleanField(default=0)
q1 = models.CharField(max_length=60)
q2 = models.DateField()
q3 = models.TimeField()
q4 = models.TextField()
class Meta:
verbose_name_plural = "task_b"
def get_absolute_url(self):
return reverse('task_b')
def __unicode__(self):
return u'%s %s %s %s %s' % (self.q1, self.q2, self.q3,
self.q4,self.q5)
class task_c(models.Model):
created_by = models.ForeignKey('auth.User')
task_complete = models.BooleanField(default=0)
q1 = models.CharField(max_length=60)
q2 = models.DateField()
q3 = models.TimeField()
q4 = models.TextField()
class Meta:
verbose_name_plural = "task_c"
def get_absolute_url(self):
return reverse('task_c')
def __unicode__(self):
return u'%s %s %s %s %s' % (self.q1, self.q2, self.q3,
self.q4,self.q5)
class task_d(models.Model):
created_by = models.ForeignKey('auth.User')
task_complete = models.BooleanField(default=0)
q1 = models.CharField(max_length=60)
q2 = models.DateField()
q3 = models.TimeField()
q4 = models.TextField()
class Meta:
verbose_name_plural = "task_d"
def get_absolute_url(self):
return reverse('task_d')
def __unicode__(self):
return u'%s %s %s %s %s' % (self.q1, self.q2, self.q3,
self.q4,self.q5)

No comments:

Post a Comment