Advertisement
Guest User

Untitled

a guest
Mar 30th, 2021
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.58 KB | None | 0 0
  1. class Company(models.Model):
  2.     title = models.CharField(verbose_name="Название", max_length=100)
  3.     description = models.TextField(verbose_name="Описание")
  4.     category = models.ForeignKey(Category, verbose_name="Категория", on_delete=models.CASCADE)
  5.     date_added = models.DateTimeField(auto_now_add=True)
  6.  
  7.     def __str__(self):
  8.         return self.title
  9.    
  10.     def get_absolute_url(self):
  11.         return reverse("company_detail", kwargs={"category_slug": self.category.slug, "company_id": self.pk })
  12.  
  13.     def get_main_image(self):
  14.         try:
  15.             main_image = self.images.get(is_main=True)
  16.             return main_image.image.url
  17.         except:
  18.             return ''
  19.    
  20.     def get_main_image_thumbnail(self):
  21.         try:
  22.             main_image = self.images.get(is_main=True)
  23.             return main_image.thumbnail.url
  24.         except:
  25.             return ''
  26.            
  27.     def get_all_images(self):
  28.         try:
  29.             return self.images.all()
  30.         except:
  31.             return []
  32.    
  33. class ImagesGalery(models.Model):
  34.     company = models.ForeignKey(Company, verbose_name="Компания", on_delete=models.CASCADE, related_name="images")
  35.  
  36.     image = models.ImageField(verbose_name='Изображение', upload_to='media')
  37.    
  38.     thumbnail = ImageSpecField(source="image", processors=[ResizeToFill(414,220)], format='PNG')
  39.     smart = ImageSpecField(source='image', processors=[SmartResize(50,50)], format='PNG')
  40.  
  41.     is_main = models.BooleanField(verbose_name="Главное изображение", default=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement