From dc0361d7103691369f35519e262bee3504556694 Mon Sep 17 00:00:00 2001 From: KessPen Date: Thu, 18 Apr 2024 12:28:06 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B8=20(=D0=91=D0=94)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SusMarketBackend/models.py | 67 +++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/SusMarketBackend/models.py b/SusMarketBackend/models.py index 71a8362..6a2bf39 100644 --- a/SusMarketBackend/models.py +++ b/SusMarketBackend/models.py @@ -1,3 +1,68 @@ +from django.core.validators import MinValueValidator, MaxValueValidator from django.db import models -# Create your models here. + +class Category(models.Model): + id = models.CharField('ID Категории', max_length=50, unique=True, primary_key=True, db_index=True) + title = models.CharField('Название Категории', max_length=50) + image = models.ImageField('Картинка категории') + + def __str__(self): + return self.title + + class Meta: + verbose_name = 'Категория' + verbose_name_plural = 'Категории' + + +class Product(models.Model): + id = models.AutoField('ID Товара', unique=True, primary_key=True, db_index=True) + title = models.CharField('Название Товара', max_length=50) + description = models.TextField('Описание товара', max_length=300) + price = models.PositiveIntegerField('Цена товара', validators=[ + MinValueValidator(1), MaxValueValidator(999) + ]) + tags = models.TextField('Теги (Указывать через разделитель \'|\')', max_length=300) + icons = models.ImageField('Иконка товара') + category = models.ForeignKey(Category, on_delete=models.CASCADE) + date = models.DateTimeField('Дата создания товара', auto_now=True) + + def __str__(self): + return self.title + + class Meta: + verbose_name = 'Товар' + verbose_name_plural = 'Товары' + + +class User(models.Model): + id = models.AutoField('ID Пользователя', unique=True, primary_key=True, db_index=True) + login = models.CharField('Логин', max_length=50) + password = models.TextField('Описание товара', max_length=900) + date = models.DateTimeField('Дата создания пользователя', auto_now=True) + + def __str__(self): + return self.login + + class Meta: + verbose_name = 'Пользователь' + verbose_name_plural = 'Пользователи' + + +class Review(models.Model): + id = models.AutoField('ID Отзыва', unique=True, primary_key=True, db_index=True) + commentary = models.TextField('Комментарий отзыва', max_length=300) + rate = models.PositiveIntegerField('Оценка', validators=[ + MinValueValidator(1), MaxValueValidator(5) + ]) + icons = models.ImageField('Изображение отзыва', null=True) + product = models.ForeignKey(Product, on_delete=models.CASCADE) + user = models.ForeignKey(User, on_delete=models.CASCADE) + date = models.DateTimeField('Дата создания отзыва', auto_now=True) + + def __str__(self): + return str(self.id) + + class Meta: + verbose_name = 'Отзыв' + verbose_name_plural = 'Отзывы'