Files
dj52/image/models.py
Beyhan Oğur ec28a2024d first commit
2026-04-26 22:22:29 +03:00

56 lines
2.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from autoslug import AutoSlugField
from django.db import models
# Create your models here.
class PostImages(models.Model):
aktif = (
(True, 'Evet'),
(False, 'Hayır'),
)
format_choose = (
('png', 'PNG'),
('webp', 'WebP'),
('jpg', 'JPG'),
('avif', 'AVIF'),
)
title = models.CharField(max_length=254, verbose_name="Resim Başlığı")
user = models.ForeignKey('accounts.CustomUser', on_delete=models.CASCADE, related_name='image_user',
verbose_name="Kullanıcı")
path = models.CharField(max_length=254, verbose_name="Resim Yolu")
processed_path = models.CharField(max_length=254, verbose_name="Orijinal Resim Yolu")
original_filename = models.CharField(max_length=254, verbose_name="Orijinal Resim Adı")
format = models.CharField(max_length=254, verbose_name="Resim Formati", choices=format_choose,default='webp')
width = models.IntegerField()
height = models.IntegerField()
size = models.IntegerField()
quality = models.IntegerField()
slug = AutoSlugField(populate_from='title', null=False, unique=True, editable=True, db_index=True, max_length=250,
blank=True)
created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi")
updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi")
is_active = models.BooleanField(default=True, verbose_name='Yayındamı ?', choices=aktif)
is_front = models.BooleanField(default=True, verbose_name='Önde Görünsünmü ?', choices=aktif)
class Meta:
ordering = ["created_at"]
db_table = 'images'
verbose_name_plural = "Posts"
verbose_name = "Post"
unique_together = ('slug',)
def get_slug(self):
slug = self.title.replace('ı', "i").replace('İ', 'i')
number = 1
while PostImages.objects.filter(slug=slug).exists():
slug = '{}-{}'.format(slug, number)
number += 1
return slug
def save(self, *args, **kwargs):
if not self.slug:
self.slug = self.get_slug()
super().save(*args, **kwargs)
def __str__(self):
return f"Resimler: {self.title}"