Skip to content

Commit

Permalink
fix(unique-slug): replace slugify function by autoslug package
Browse files Browse the repository at this point in the history
  • Loading branch information
delitamakanda committed Jul 19, 2020
1 parent ff08577 commit be2951d
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 7 deletions.
21 changes: 21 additions & 0 deletions courses/migrations/0007_auto_20200719_1650.py
Original file line number Diff line number Diff line change
@@ -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',)),
),
]
12 changes: 7 additions & 5 deletions courses/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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)
Expand All @@ -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())
Expand Down
3 changes: 2 additions & 1 deletion requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
redis==3.4.1
django-autoslug==1.9.7
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
redis==3.4.1
django-autoslug==1.9.7

0 comments on commit be2951d

Please sign in to comment.