diff --git a/apps/course/migrations/0027_remove_course_url.py b/apps/course/migrations/0027_remove_course_url.py new file mode 100644 index 00000000..0646cf90 --- /dev/null +++ b/apps/course/migrations/0027_remove_course_url.py @@ -0,0 +1,17 @@ +# Generated by Django 2.0.2 on 2018-02-09 08:16 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('course', '0026_auto_20180208_1053'), + ] + + operations = [ + migrations.RemoveField( + model_name='course', + name='url', + ), + ] diff --git a/apps/course/models.py b/apps/course/models.py index 61cca877..10295cd3 100644 --- a/apps/course/models.py +++ b/apps/course/models.py @@ -2,7 +2,7 @@ import arrow from django.db import models from django.utils import timezone from django.contrib.auth import get_user_model - +from django.urls import reverse_lazy from polymorphic_tree.models import PolymorphicMPTTModel, PolymorphicTreeForeignKey from .manager import CategoryQuerySet @@ -49,7 +49,6 @@ class Course(models.Model): category = models.ForeignKey('Category', on_delete=models.PROTECT) duration = models.IntegerField('Продолжительность курса', default=0) is_featured = models.BooleanField(default=False) - url = models.URLField('Ссылка', default='') status = models.PositiveSmallIntegerField('Статус', default=0, choices=STATUS_CHOICES) likes = models.ManyToManyField(Like, blank=True) materials = models.ManyToManyField('Material', blank=True) @@ -61,6 +60,13 @@ class Course(models.Model): created_at = models.DateTimeField(auto_now_add=True) update_at = models.DateTimeField(auto_now=True) + @property + def url(self): + return self.get_absolute_url() + + def get_absolute_url(self): + return reverse_lazy('course', args=[self.id]) + @property def is_free(self): if self.price: