Merge branch 'hotfix/courses_slug_url_20-01-19' into 'master'

проверить работу ссылок на курсы в админке, сделать все ссылки на курсы по...

See merge request lilschool/site!249
remotes/origin/hotfix/courses_slug_url_20-01-19
Danil 7 years ago
commit 3cb23728e6
  1. 0
      apps/course/management/__init__.py
  2. 0
      apps/course/management/commands/__init__.py
  3. 20
      apps/course/management/commands/update_courses_slug.py
  4. 18
      apps/course/models.py
  5. 1
      requirements.txt

@ -0,0 +1,20 @@
from unidecode import unidecode
from django.core.management.base import BaseCommand, CommandError
from django.db.models import Q
from django.utils.text import slugify
from apps.course.models import Course
class Command(BaseCommand):
help = 'Upload users to Roistat'
def handle(self, *args, **options):
courses = Course.objects.filter(Q(slug__isnull=True) | Q(slug=''))
for course in courses:
course.slug = slugify(unidecode(course.title[:90]))
try:
course.save()
except:
course.slug += str(course.id)
course.save()

@ -1,10 +1,13 @@
import arrow
from random import shuffle
from uuid import uuid4
from unidecode import unidecode
from django.db import models
from django.core.exceptions import ValidationError
from django.utils import timezone
from django.utils.timezone import now
from django.utils.text import slugify
from django.contrib.auth import get_user_model
from django.urls import reverse_lazy
from django.conf import settings
@ -119,17 +122,14 @@ class Course(BaseModel, DeactivatedMixin):
def __str__(self):
return str(self.id) + ' ' + self.title
# def save(self, *args, **kwargs):
# if not self.slug:
# self.slug = slugify(
# self.title[:90],
# allow_unicode=True
# )
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(unidecode(self.title[:90]))
# if Course.objects.filter(slug=self.slug).exclude(id=self.id).exists():
# self.slug += '_' + str(uuid4())[:6]
if Course.objects.filter(slug=self.slug).exclude(id=self.id).exists():
self.slug += str(uuid4())[-3:]
# return super().save()
return super().save()
@property
def url(self):

@ -36,3 +36,4 @@ short_url
sendgrid
drf_dynamic_fields
flower==0.9.2
unidecode

Loading…
Cancel
Save