|
|
|
|
@ -11,7 +11,7 @@ from project.mixins import BaseModel, DeactivatedMixin |
|
|
|
|
|
|
|
|
|
from .manager import CategoryQuerySet |
|
|
|
|
|
|
|
|
|
from apps.content.models import ImageObject, Gallery |
|
|
|
|
from apps.content.models import ImageObject, Gallery, Video |
|
|
|
|
|
|
|
|
|
User = get_user_model() |
|
|
|
|
|
|
|
|
|
@ -84,6 +84,14 @@ class Course(BaseModel, DeactivatedMixin): |
|
|
|
|
created_at = models.DateTimeField(auto_now_add=True) |
|
|
|
|
update_at = models.DateTimeField(auto_now=True) |
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
verbose_name = 'Курс' |
|
|
|
|
verbose_name_plural = 'Курсы' |
|
|
|
|
ordering = ['-created_at'] |
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
return str(self.id) + ' ' + self.title |
|
|
|
|
|
|
|
|
|
def save(self, *args, **kwargs): |
|
|
|
|
if not self.slug: |
|
|
|
|
self.slug = slugify( |
|
|
|
|
@ -126,13 +134,9 @@ class Course(BaseModel, DeactivatedMixin): |
|
|
|
|
return True |
|
|
|
|
return False |
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
return str(self.id) + ' ' + self.title |
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
verbose_name = 'Курс' |
|
|
|
|
verbose_name_plural = 'Курсы' |
|
|
|
|
ordering = ['-created_at'] |
|
|
|
|
@property |
|
|
|
|
def count_videos_in_lessons(self): |
|
|
|
|
return Video.objects.filter(lesson__in=self.lessons.all()).count() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Category(models.Model): |
|
|
|
|
|