from django.db import models
from django.utils.translation import gettext_lazy as _
from ckeditor.fields import RichTextField
from django.utils.text import slugify
from unidecode import unidecode



class Blog(models.Model):
    title = models.CharField(_("Title"), max_length=200)
    slug = models.CharField(_("Slug"), max_length=200, unique=True)
    short_description = models.TextField(_("Short Description"), blank=True, null=True, max_length=400)
    description = RichTextField(_("Description"), blank=True, null=True, max_length=12000)
    image = models.ImageField(_('image'), default='default/image.png', upload_to='category')
    orderBy = models.IntegerField(_("Order By"), default=0)
    status = models.BooleanField(_('Status'), default=True)
    created_at = models.DateTimeField(_('created_at'), auto_now_add=True)

    def __str__(self):
        return self.title

    class Meta:
        db_table = 'blogs'
        verbose_name_plural = 'Blog'

    def save(self, *args, **kwargs):
        self.slug = slugify(unidecode(self.title))
        super().save(*args, **kwargs)
