diff --git a/courses/migrations/0007_auto_20200719_1650.py b/courses/migrations/0007_auto_20200719_1650.py new file mode 100644 index 0000000..40291fb --- /dev/null +++ b/courses/migrations/0007_auto_20200719_1650.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.21 on 2020-07-19 16:50 +from __future__ import unicode_literals + +import autoslug.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('courses', '0006_cluster'), + ] + + operations = [ + migrations.AlterField( + model_name='course', + name='slug', + field=autoslug.fields.AutoSlugField(editable=False, populate_from='title', unique_with=('created__month',)), + ), + ] diff --git a/courses/models.py b/courses/models.py index 03386b0..251c13a 100644 --- a/courses/models.py +++ b/courses/models.py @@ -7,6 +7,7 @@ from django.template.loader import render_to_string from django.utils.safestring import mark_safe from django.utils.text import slugify +from autoslug import AutoSlugField import numpy as np @@ -24,7 +25,8 @@ class Course(models.Model): owner = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='courses_created') subject = models.ForeignKey(Subject, related_name='courses') title = models.CharField(max_length=200) - slug = models.SlugField(max_length=200, unique=True) + # slug = models.SlugField(max_length=200, unique=True) + slug = AutoSlugField(populate_from='title', unique_with='created__month') overview = models.TextField() created = models.DateTimeField(auto_now_add=True) students = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='courses_joined', blank=True) @@ -33,10 +35,10 @@ class Meta: ordering = ('-created',) - def save(self, *args, **kwargs): - if not self.slug: - self.slug = slugify(self.title) - super(Course, self).save(*args, **kwargs) + # def save(self, *args, **kwargs): + # if not self.slug: + # self.slug = slugify(self.title) + # super(Course, self).save(*args, **kwargs) def average_rating(self): # all_ratings = map(lambda x: x.rating, self.reviews.all()) diff --git a/requirements-dev.txt b/requirements-dev.txt index 98a7f96..047f5fe 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -31,4 +31,5 @@ django-taggit-serializer==0.1.7 mistune==0.8.4 pygments==2.4.2 celery==4.4.1 -redis==3.4.1 \ No newline at end of file +redis==3.4.1 +django-autoslug==1.9.7 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 8a7f977..13a6d1c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,4 +32,5 @@ django-taggit-serializer==0.1.7 mistune==0.8.4 pygments==2.4.2 celery==4.4.1 -redis==3.4.1 \ No newline at end of file +redis==3.4.1 +django-autoslug==1.9.7 \ No newline at end of file