from django.db import models def photo_filename(instance, filename): from slugify import slugify_filename return 'photo_uploads/' + slugify_filename(filename) class Banner(models.Model): title = models.CharField( 'Альтернативный текст', max_length=256, blank=False, null=False) image = models.ImageField('Баннер', upload_to=photo_filename) link = models.CharField( 'Ссылка', max_length=1024, blank=False, null=False) is_active = models.BooleanField('Публиковать', default=True) def __str__(self): return self.title STARS_CHOICES = ( (1, 1), (2, 2), (3, 3), (4, 4), (5, 5) ) class Feedback(models.Model): created = models.DateTimeField('Дата и время', auto_now_add=True, editable=False) name = models.CharField('Имя', max_length=45, null=False, blank=False) email = models.EmailField('Email (не будет опубликован)', null=False, blank=False) text = models.TextField('Комментарий', null=False, blank=False) stars = models.IntegerField('Оценка', default=5, choices=STARS_CHOICES) # news = models.ForeignKey(News, related_name='comments') class Meta: verbose_name = 'отзыв о сайте' verbose_name_plural = 'отзывы о сайте' def __str__(self): return '{}: {}'.format(self.name, self.text) class ProductsUpdate(models.Model): created = models.DateTimeField('Дата и время', editable=False, auto_now=True)