gault-millau/apps/main/models.py
2019-08-13 15:23:00 +03:00

87 lines
2.0 KiB
Python

from django.db import models
from django.utils.translation import gettext_lazy as _
from django.contrib.postgres.fields import JSONField
class Tag(models.Model):
"""Tag model."""
name = models.CharField(max_length=250)
class MediaAsset(models.Model):
"""Assets model."""
PHOTO = 0
VIDEO = 1
VIDEO_URL = 2
PDF = 3
DOCUMENT = 4
ASSET_TYPE_CHOICES = (
(PHOTO, _('photo')),
(VIDEO, _('video')),
(VIDEO_URL, _('video url')),
(PDF, _('pdf')),
(DOCUMENT, _('document'))
)
AMAZON_S3 = 0
STORAGE_TYPE_CHOICES = (
(AMAZON_S3, _('amazon s3')),
)
PUBLIC = 0
PRIVATE = 1
ROLE = 2
ACCESS_TYPE_CHOICES = (
(PUBLIC, _('public')),
(PRIVATE, _('private')),
(ROLE, _('role')),
)
asset_type = models.PositiveSmallIntegerField(
_('asset type'), choices=ASSET_TYPE_CHOICES, default=PHOTO
)
storage_type = models.PositiveSmallIntegerField(
_('storage type'), choices=STORAGE_TYPE_CHOICES, default=AMAZON_S3
)
storage_unit = models.CharField(_('storage unit'), blank=True, default='')
path = models.CharField(_('path'))
access_type = models.PositiveSmallIntegerField(
_('access type'), choices=ACCESS_TYPE_CHOICES, default=PUBLIC)
asset_text = JSONField(_('asset_text'))
size = models.IntegerField(_('size'))
version = models.CharField(_('version'), max_length=250)
text = JSONField(_('text'))
class Contacts(models.Model):
"""Contacts model."""
address = models.ForeignKey(
'location.Address', verbose_name=_('address'), on_delete=models.CASCADE
)
class Social(models.Model):
"""Social model."""
WEBSITE = 0
SOCIAL = 1
SOCIAL_TYPE_CHOICES = (
(WEBSITE, _('website')),
(SOCIAL, _('social')),
)
social_type = models.PositiveSmallIntegerField(
_('social type'), choices=SOCIAL_TYPE_CHOICES
)
class Note(models.Model):
"""Note model."""
class Ad(models.Model):
"""Ad model."""