diff --git a/projects/admin.py b/projects/admin.py index 19c116693..54c87cb35 100644 --- a/projects/admin.py +++ b/projects/admin.py @@ -4,7 +4,7 @@ from projects.models import Project, File class ProjectAdmin(admin.ModelAdmin): - pass + prepopulated_fields = {'slug': ('name',)} class FileAdmin(admin.ModelAdmin): diff --git a/projects/models.py b/projects/models.py index 5fd0e8048..bb99b344f 100644 --- a/projects/models.py +++ b/projects/models.py @@ -1,5 +1,6 @@ from django.contrib.auth.models import User from django.db import models +from django.template.defaultfilters import slugify from taggit.managers import TaggableManager @@ -22,6 +23,11 @@ class Project(models.Model): def __unicode__(self): return self.name + def save(self, *args, **kwargs): + if not self.slug: + self.slug = slugify(self.name) + super(Project, self).save(*args, **kwargs) + class File(models.Model): project = models.ForeignKey(Project, related_name='files')