gault-millau/apps/review/models.py
2019-08-30 10:48:44 +03:00

35 lines
1.2 KiB
Python

from django.contrib.contenttypes import fields as generic
from django.db import models
from django.utils.translation import gettext_lazy as _
from utils.models import BaseAttributes
class ReviewQuerySet(models.QuerySet):
"""QuerySets for model Review"""
def by_reviewer(self, user):
"""Return reviews by user"""
return self.filter(reviewer=user)
class Review(BaseAttributes):
"""Review model"""
reviewer = models.ForeignKey('account.User',
related_name='review',
on_delete=models.CASCADE,
verbose_name=_('reviewer'),)
content_object = generic.GenericForeignKey('content_type', 'object_id')
language = models.ForeignKey('translation.Language',
on_delete=models.CASCADE,
related_name='review',
verbose_name=_('Review language'))
text = models.TextField(verbose_name=_('Text'))
objects = ReviewQuerySet.as_manager()
class Meta:
"""Meta class."""
verbose_name = _('Review')
verbose_name_plural = _('Reviews')