models.py 730 B

123456789101112131415161718192021222324
  1. from django.db import models
  2. class Icon(models.Model):
  3. TYPE_FAVICON = "favicon"
  4. TYPE_FAVICON_32 = "favicon_32"
  5. TYPE_FAVICON_16 = "favicon_16"
  6. TYPE_APPLE_TOUCH_ICON = "apple_touch_icon"
  7. FAVICON_TYPES = (TYPE_FAVICON, TYPE_FAVICON_32, TYPE_FAVICON_16)
  8. type = models.CharField(max_length=255)
  9. image = models.ImageField(
  10. upload_to="icon", height_field="height", width_field="width"
  11. )
  12. size = models.PositiveIntegerField(default=0)
  13. width = models.PositiveIntegerField(default=0)
  14. height = models.PositiveIntegerField(default=0)
  15. def delete(self, *args, **kwargs):
  16. if self.image:
  17. self.image.delete(save=False)
  18. return super().delete(*args, **kwargs)