You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.7 KiB
73 lines
2.7 KiB
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)
|
|
|
|
|
|
PASSIONS = (
|
|
(0, 'Дайвинг'),
|
|
(1, 'Подводная охота'),
|
|
(2, 'Фотография'),
|
|
(3, 'Свежий воздух'),
|
|
)
|
|
|
|
|
|
class FestUser(models.Model):
|
|
first_name = models.CharField(verbose_name='Имя', max_length=50, null=False, blank=False)
|
|
last_name = models.CharField(verbose_name='Фамилия', max_length=50, null=False, blank=False)
|
|
email = models.EmailField(verbose_name='Email-адрес', null=True, blank=True)
|
|
phone = models.CharField(verbose_name='Номер телефона', null=False, blank=False, max_length=30)
|
|
age = models.IntegerField(verbose_name='Возраст (лет)', null=False, blank=False, help_text=u'Девушки могут указывать 16 :)')
|
|
country = models.CharField(verbose_name='Страна', null=False, blank=False, max_length=30)
|
|
city = models.CharField(verbose_name='Город', null=False, blank=False, max_length=30)
|
|
passion = models.IntegerField(verbose_name='Чем увлекаетесь?', null=False, blank=False, choices=PASSIONS, default=0)
|
|
|
|
def __str__(self):
|
|
return self.first_name + ' ' + self.last_name
|
|
|
|
|
|
|
|
|
|
class ProductsUpdate(models.Model):
|
|
created = models.DateTimeField('Дата и время', editable=False, auto_now=True)
|
|
|