Global API refactoring
This commit is contained in:
@@ -9,6 +9,8 @@ from account.models import SiteUser
|
||||
from datetime import datetime
|
||||
import os
|
||||
|
||||
from PIL import Image
|
||||
|
||||
|
||||
class City(models.Model):
|
||||
code = models.CharField(primary_key=True, max_length=20, verbose_name="Код города", validators=[
|
||||
@@ -180,7 +182,7 @@ class Order(models.Model):
|
||||
create_time = models.DateTimeField(default=datetime.now, editable=False, verbose_name="Время создания")
|
||||
|
||||
moderated = models.BooleanField(default=True, verbose_name="Модерирован")
|
||||
published = models.BooleanField(default=False, verbose_name="Опубликован")
|
||||
published = models.BooleanField(default=True, verbose_name="Опубликован")
|
||||
|
||||
def clean(self):
|
||||
errors = {}
|
||||
@@ -242,16 +244,27 @@ def _upload_image_filename(instance, filename):
|
||||
return "order-images/" + fn
|
||||
|
||||
|
||||
# TOFIX сделать удаление ненужных картинок из файловой системы
|
||||
|
||||
class OrderImage(models.Model):
|
||||
MAX_IMAGES = 10
|
||||
|
||||
order = models.ForeignKey(Order, on_delete=models.CASCADE, related_name="order", verbose_name="Заказ")
|
||||
image = models.ImageField(upload_to=_upload_image_filename, verbose_name="Картинка",
|
||||
width_field=None, height_field=None)
|
||||
image = models.ImageField(upload_to=_upload_image_filename, verbose_name="Картинка")
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.id}: {self.order}"
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
super(OrderImage, self).save(*args, **kwargs)
|
||||
img = Image.open(self.image.path)
|
||||
|
||||
if img.width > 1920 or img.height > 1080:
|
||||
# нужно урезать фортку так, чтобы пропорции уменьшились пропорционально
|
||||
output_size = (1920, 1080)
|
||||
img.thumbnail(output_size)
|
||||
img.save(self.image.path)
|
||||
|
||||
|
||||
class OrderRespond(models.Model):
|
||||
create_time = models.DateTimeField(default=datetime.now, editable=False, verbose_name="Время отклика")
|
||||
|
Reference in New Issue
Block a user