added images

This commit is contained in:
Léo 2025-01-23 01:58:03 +01:00
parent f3c88919c3
commit 8290dda9cf
3 changed files with 11 additions and 11 deletions

View File

@ -11,7 +11,7 @@ class Product(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="products") user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="products")
stock_limit = models.IntegerField(null=True, blank=True) stock_limit = models.IntegerField(null=True, blank=True)
alert_enabled = models.BooleanField(default=False) alert_enabled = models.BooleanField(default=False)
image = models.CharField(null=True, blank=True)
@property @property
def is_stock_low(self): def is_stock_low(self):
return self.alert_enabled and self.stock_limit is not None and self.quantity < self.stock_limit return self.alert_enabled and self.stock_limit is not None and self.quantity < self.stock_limit

View File

@ -44,7 +44,12 @@ class ProductSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Product model = Product
fields = ["id", "name", "description", "quantity", "creation_date", "modification_date", "user","stock_limit","alert_enabled","is_stock_low"] fields = ["id", "name", "description", "quantity", "creation_date", "modification_date", "user","stock_limit","alert_enabled","is_stock_low","image"]
def validate_quantity(self, value):
if value < 0:
raise serializers.ValidationError("La quantité ne peut pas être négative.")
return value
def get_is_stock_low(self, obj): def get_is_stock_low(self, obj):
if not isinstance(obj, Product): if not isinstance(obj, Product):

View File

@ -47,13 +47,8 @@ class ProductView(viewsets.ModelViewSet):
serializer_class = ProductSerializer serializer_class = ProductSerializer
queryset = Product.objects.all() queryset = Product.objects.all()
def perform_create(self, request): def perform_create(self, serializer):
if 'quantity' not in request.data or request.data.get('quantity') is None: serializer.save(user=self.request.user)
return Response({"quantity": ["give a quantity"]}, status=status.HTTP_400_BAD_REQUEST)
serializers = self.get_serializer(data=request.data)
serializers.is_valid(raise_exception=True)
serializers.save(user=self.request.user)
return Response(serializers.data, status=status.HTTP_201_CREATED)
def get_queryset(self): def get_queryset(self):
return Product.objects.filter(user_id=self.request.user) return Product.objects.filter(user_id=self.request.user)