class Schedule(models.Model):
type = models.ForeignKey(ScheduleType)
slug = models.CharField(max_length=18, blank=True)
description = models.TextField()
is_published = models.BooleanField(default=True)
begins_at = models.DateTimeField()
ends_at = models.DateTimeField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __unicode__(self):
return u'%s - %s' % (self.type, self.begins_at)
# Here is where the code you need starts.
def save(self, *args, **kwargs):
super(Schedule, self).save()
month = str(self.begins_at.month)
if len(month) < 2:
month = '0' + month
self.slug = '%i/%s/%i/%i' % (
self.begins_at.year, month, self.begins_at.day, self.id
)
super(Schedule, self).save(*args, **kwargs)
@models.permalink
def get_absolute_url(self):
return 'schedule', (), { 'schedule_slug': self.slug }