gault-millau/apps/translation/models.py
2019-08-19 17:00:14 +03:00

37 lines
1001 B
Python

"""Translation app models."""
from django.db import models
from django.utils.translation import gettext_lazy as _
class LanguageQuerySet(models.QuerySet):
"""QuerySet for model Language"""
def by_locale(self, locale: str) -> models.QuerySet:
"""Filter by locale"""
return self.filter(locale=locale)
def by_title(self, title: str) -> models.QuerySet:
"""Filter by title"""
return self.filter(title=title)
class Language(models.Model):
"""Language model."""
title = models.CharField(max_length=255,
verbose_name=_('Language title'))
locale = models.CharField(max_length=10,
verbose_name=_('Locale identifier'))
objects = LanguageQuerySet.as_manager()
class Meta:
"""Meta class."""
verbose_name = _('Language')
verbose_name_plural = _('Languages')
def __str__(self):
"""String method"""
return f'{self.title} ({self.locale})'