From: Seth Woodworth Date: Mon, 7 Jan 2013 20:44:39 +0000 (-0500) Subject: organizing course model and adding update_note_count func X-Git-Tag: release-20150131~594 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6af41e0efe80a97a331464539bdc98a346419900;p=oweals%2Fkarmaworld.git organizing course model and adding update_note_count func --- diff --git a/karmaworld/apps/courses/models.py b/karmaworld/apps/courses/models.py index 8123f9b..a266a8e 100644 --- a/karmaworld/apps/courses/models.py +++ b/karmaworld/apps/courses/models.py @@ -41,18 +41,24 @@ class Course(models.Model): """ First class object that contains many notes.Note objects """ # Core metadata name = models.CharField(max_length=255) - desc = models.TextField(max_length=511, blank=True, null=True) slug = models.SlugField(null=True) - url = models.URLField(max_length=511, blank=True, null=True) - school = models.ForeignKey(School) # Should this be optional ever? + file_count = models.IntegerField(default=0) + desc = models.TextField(max_length=511, blank=True, null=True) + url = models.URLField(max_length=511, blank=True, null=True) academic_year = models.IntegerField(blank=True, null=True, default=datetime.datetime.now().year) - instructor_name = models.CharField(max_length=255, blank=True, null=True) - instructor_email = models.EmailField(blank=True, null=True) - updated_at = models.DateTimeField(default=datetime.datetime.utcnow) - created_at = models.DateTimeField(auto_now_add=True) + + instructor_name = models.CharField(max_length=255, blank=True, null=True) + instructor_email = models.EmailField(blank=True, null=True) + + updated_at = models.DateTimeField(default=datetime.datetime.utcnow) + + created_at = models.DateTimeField(auto_now_add=True) + + class Meta: + ordering = ['-file_count', 'school', 'name'] def __unicode__(self): return u"{0}: {1}".format(self.name, self.school) @@ -67,3 +73,7 @@ class Course(models.Model): if not self.slug: self.slug = defaultfilters.slugify(self.name) super(Course, self).save(*args, **kwargs) + + def update_note_count(self): + self.file_count = self.note_set.count() + self.save()