gault-millau/apps/advertisement/models.py

33 lines
984 B
Python

"""Advertisement app models."""
from django.db import models
from django.utils.translation import gettext_lazy as _
from utils.models import ProjectBaseMixin, ImageMixin
class Advertisement(ImageMixin, ProjectBaseMixin):
"""Advertisement model."""
LEVEL_1 = 1
LEVEL_2 = 2
LEVEL_3 = 3
BLOCK_LEVEL_CHOICES = (
(LEVEL_1, _('Ad block level 1')),
(LEVEL_2, _('Ad block level 2')),
(LEVEL_3, _('Ad block level 3'))
)
url = models.URLField(verbose_name=_('Ad URL'))
width = models.PositiveIntegerField(verbose_name=_('Block width'))
height = models.PositiveIntegerField(verbose_name=_('Block height'))
block_level = models.PositiveSmallIntegerField(choices=BLOCK_LEVEL_CHOICES,
verbose_name=_('Block level'))
class Meta:
verbose_name = _('Advertisement')
verbose_name_plural = _('Advertisement')
def __str__(self):
return str(self.url)