# your code goes here
from django.db import models
from taggit.managers import TaggableManager
from resize.fields import ResizedImageField
from taggit.models import GenericTaggedItemBase, TagBase
from taggit.managers import _TaggableManager
from autoslug import AutoSlugField

# Create your models here.

class CategoriesTag(TagBase):
    pass
class CategoriesTaggedItem(GenericTaggedItemBase):
    tag = models.ForeignKey(CategoriesTag)

class Article(models.Model):
    class Meta():
        db_table = 'article'

    article_title = models.CharField(max_length=256, blank=True)

    image = ResizedImageField(resolutions=('135x240', '207x368',
                                           '360x640', '640x1136',
                                           '640x960', '720x1280',
                                           '750x1334', '1080x1920',
                                           '1080x2160', '1440x2560'), upload_to='images', blank=True)
    tags = TaggableManager(blank=True)

    categories = TaggableManager(verbose_name='Categories', through=CategoriesTaggedItem, blank=True)

    slug = AutoSlugField(populate_from='article_title')

    #Проблема здесь
    def save(self, *args, **kwargs):
        if not self.id:
            self.article_title = ' '.join(self.tags.names())  # self.tags.names() возвращает list со строками тэгов
        super(Article, self).save(*args, **kwargs)

    def __str__(self):
		return self.article_title