from django.db import models from django.urls import reverse from django.contrib.auth.models import User, AbstractUser class User(AbstractUser): first_name = models.CharField(max_length=254, verbose_name='Имя', blank=False) last_name = models.CharField(max_length=254, verbose_name='Фамилия', blank=False) avatar = models.ImageField(verbose_name="Загрузите аватарку", upload_to='avatars') email = models.CharField(max_length=254, verbose_name='Пoчтa', blank=False) password = models.CharField(max_length=254, verbose_name='Пapoль', blank=False) role = models.CharField(max_length=254, verbose_name='Poль', choices=(('admin', 'Администратор'), ('user', 'Пoльзователь')), default='user') class Product(models.Model): title = models.CharField(max_length=200) manufacturer = models.ForeignKey('manufacturer', on_delete=models.SET_NULL, null=True) summary = models.TextField(max_length=1000, help_text="Enter a brief description of the product") img = models.ImageField(upload_to='img', null=True, blank=True, default=None) isbn = models.CharField('ISBN', max_length=13, help_text='13 Character ISBN number') def __str__(self): return self.title def get_absolute_url(self): return reverse('product-detail', args=[str(self.id)]) class Manufacturer(models.Model): name = models.CharField(max_length=100) def get_absolute_url(self): return reverse('manufacturer-detail', args=[str(self.id)]) def __str__(self): return '%s' % (self.name)