from django.contrib.auth.models import User
import datetime
from django.core.urlresolvers import reverse
-from django.template.defaultfilters import slugify
+from slugify import SlugifyUniquely
class Ingredient(models.Model):
name = models.CharField(max_length=100)
- slug = models.SlugField()
+ slug = models.SlugField(unique=True)
def __unicode__(self):
return self.name
class Sandwich(models.Model):
adjective = models.CharField(max_length=200)
- slug = models.SlugField()
+ slug = models.SlugField(unique=True)
date_made = models.DateField()
ingredients = models.ManyToManyField(Ingredient)
date_added = models.DateTimeField(default=datetime.datetime.now, editable=False)
- picture = models.ImageField(upload_to='sandwiches/')
- notes = models.TextField()
+ picture = models.ImageField(upload_to='sandwiches/', blank=True)
+ notes = models.TextField(blank=True)
user = models.ForeignKey(User)
class Meta:
return reverse('sandwich_by_slug', kwargs={'slug':self.slug})
def save(self, *args, **kwargs):
- self.slug = slugify(self.adjective)
+ self.slug = SlugifyUniquely(self.adjective, Sandwich)
super(Sandwich, self).save(*args, **kwargs)