diff options
| author | spl3g <spleefer6@gmail.com> | 2026-06-01 21:23:12 +0300 |
|---|---|---|
| committer | spl3g <spleefer6@gmail.com> | 2026-06-01 21:23:12 +0300 |
| commit | c0fe3e1db70bdba85cf382624817d8d8ea9d6f85 (patch) | |
| tree | 74065ec21768d63f6cc537bdce72b63ddf513b32 /core/models.py | |
| parent | 386e9defbea931ebc5139a5db5c74e6f44bbbe02 (diff) | |
add orders list, update, create
Diffstat (limited to 'core/models.py')
| -rw-r--r-- | core/models.py | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/core/models.py b/core/models.py index db8b4c1..ee673ff 100644 --- a/core/models.py +++ b/core/models.py @@ -1,5 +1,10 @@ from django.contrib.auth.models import AbstractUser from django.db import models +from PIL import Image +from io import BytesIO +from django.core.files.base import ContentFile +import os + class Role(models.Model): name = models.CharField(max_length=50, unique=True, verbose_name="Name of the role") @@ -43,8 +48,23 @@ class Product(models.Model): this = Product.objects.get(id=self.id) if this.photo and self.photo and this.photo != self.photo: this.photo.delete(save=False) + except Exception: pass + + if self.photo: + img = Image.open(self.photo) + img.thumbnail((300, 200)) + + output = BytesIO() + img.save(output, img.format) + output.seek(0) + self.photo.save( + os.path.basename(self.photo.name), + output, + save=False + ) + super().save(*args, **kwargs) @property @@ -56,12 +76,17 @@ class Product(models.Model): return self.name class Order(models.Model): + STATUS_CHOICES = ( + ("new", "Новый"), + ("completed", "Завершен"), + ) + order_date = models.DateTimeField(auto_now_add=True) delivery_date = models.DateTimeField() pickup_point = models.ForeignKey(PickupPoint, on_delete=models.CASCADE) client_name = models.CharField(max_length=255, null=True, blank=True) pickup_code = models.IntegerField() - status = models.CharField(max_length=50, default="Новый") + status = models.CharField(max_length=50, choices=STATUS_CHOICES, default="Новый") user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True) class OrderItem(models.Model): |
