models.py 1.4 KB

1234567891011121314151617181920212223242526272829
  1. from django.db import models
  2. from datetime import datetime
  3. from django.contrib.auth.models import AbstractUser
  4. class User(AbstractUser):
  5. username = models.CharField(max_length=100, verbose_name='Логин', unique=True)
  6. avatar = models.ImageField(verbose_name='Аватар', upload_to='avatars/', blank=False)
  7. class Product(models.Model):
  8. title = models.CharField(max_length=100, verbose_name='Название товара', blank=False)
  9. productImage = models.ImageField(verbose_name='Изображение товара', upload_to='productImages/', blank=False)
  10. description = models.TextField(max_length=1000, verbose_name='Описание товара', blank=False)
  11. date_create = models.DateField(default=datetime.now, verbose_name="Дата создания")
  12. time_create = models.TimeField(default=datetime.now, verbose_name="Время создания")
  13. class Profile(models.Model):
  14. user = models.ForeignKey(User, on_delete=models.CASCADE)
  15. class Basket(models.Model):
  16. user = models.ForeignKey(User, on_delete=models.CASCADE)
  17. product = models.ForeignKey(Product, on_delete=models.CASCADE)
  18. created_time = models.DateTimeField(auto_now_add=True)
  19. count = models.PositiveIntegerField(default=0)
  20. def __str__(self):
  21. return f'Корзина пользователя {self.user.username} | Продукт {self.product.title}'