35 lines
1.2 KiB
Python
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')
|