mirror of
https://github.com/yawaflua/SusMarket.git
synced 2025-12-09 20:19:31 +02:00
Добавил модели (БД)
This commit is contained in:
@@ -1,3 +1,68 @@
|
|||||||
|
from django.core.validators import MinValueValidator, MaxValueValidator
|
||||||
from django.db import models
|
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 = 'Отзывы'
|
||||||
|
|||||||
Reference in New Issue
Block a user