feat: add catalogue image management (#1)
- Add CatalogueImage model with FK to Product - Add image resize service (strict/non-strict modes with configurable dimensions) - Add CRUD API endpoints with admin-only write permissions - Add catalogue_images field to product listing/detail endpoints - Serve media files in development via static() - 28 TDD tests covering model, API, permissions, resize, and product listing
This commit is contained in:
20
tienda_ilusion/don_confiao/models/catalogue_images.py
Normal file
20
tienda_ilusion/don_confiao/models/catalogue_images.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from django.db import models
|
||||
|
||||
from .products import Product
|
||||
|
||||
|
||||
def _catalogue_image_upload_path(instance, filename):
|
||||
return f"catalogue_images/{instance.product_id}/{filename}"
|
||||
|
||||
|
||||
class CatalogueImage(models.Model):
|
||||
product = models.ForeignKey(
|
||||
Product,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="catalogue_images",
|
||||
)
|
||||
image = models.ImageField(upload_to=_catalogue_image_upload_path)
|
||||
uploaded_at = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
def __str__(self):
|
||||
return f"CatalogueImage for {self.product.name} ({self.id})"
|
||||
Reference in New Issue
Block a user