from django.db import models from account.models import User from django.utils.text import slugify from django.utils.timezone import now from product.models import SubCategoryModel class BlogModel(models.Model): author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blogs') title = models.CharField(max_length=200) slug = models.SlugField(max_length=200, unique=True, blank=True) content = models.TextField() summery = models.TextField() category = models.ForeignKey(SubCategoryModel, on_delete=models.SET_NULL, null=True, related_name='blogs') created_at = models.DateTimeField(default=now, editable=False) updated_at = models.DateTimeField(auto_now=True) is_published = models.BooleanField(default=False) cover_image = models.ImageField(upload_to='blog_covers/', blank=True) views = models.PositiveIntegerField(default=0) meta_description = models.CharField(max_length=300, help_text='این فیلد را حتما پر کنید') meta_keywords = models.CharField(max_length=300, help_text='این فیلد را حتما پر کنید') def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(self.title) super().save(*args, **kwargs) def __str__(self): return self.title # class Comment(models.Model): # blog = models.ForeignKey(Blog, on_delete=models.CASCADE, related_name='comments') # user = models.ForeignKey(User, on_delete=models.CASCADE) # content = models.TextField() # created_at = models.DateTimeField(default=now) # def __str__(self): # return f'Comment by {self.user} on {self.blog}'