diff --git a/apps/establishment/serializers.py b/apps/establishment/serializers.py index fc013d86..d8066562 100644 --- a/apps/establishment/serializers.py +++ b/apps/establishment/serializers.py @@ -67,11 +67,13 @@ class EstablishmentScheduleSerializer(serializers.ModelSerializer): class ReviewSerializer(serializers.ModelSerializer): """Serializer for model Review.""" + text_translated = serializers.CharField(read_only=True) + class Meta: """Meta class.""" model = review_models.Review fields = ( - 'text', + 'text_translated', ) diff --git a/apps/review/migrations/0002_remove_review_text.py b/apps/review/migrations/0002_remove_review_text.py new file mode 100644 index 00000000..45e58d1f --- /dev/null +++ b/apps/review/migrations/0002_remove_review_text.py @@ -0,0 +1,17 @@ +# Generated by Django 2.2.4 on 2019-09-01 11:47 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('review', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='review', + name='text', + ), + ] diff --git a/apps/review/migrations/0003_review_text.py b/apps/review/migrations/0003_review_text.py new file mode 100644 index 00000000..708fccd1 --- /dev/null +++ b/apps/review/migrations/0003_review_text.py @@ -0,0 +1,20 @@ +# Generated by Django 2.2.4 on 2019-09-01 11:53 + +from django.db import migrations + +import utils.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('review', '0002_remove_review_text'), + ] + + operations = [ + migrations.AddField( + model_name='review', + name='text', + field=utils.models.TJSONField(blank=True, default=None, help_text='{"en-GB":"Text review"}', null=True, verbose_name='text'), + ), + ] diff --git a/apps/review/models.py b/apps/review/models.py index ff0308e5..97b910dd 100644 --- a/apps/review/models.py +++ b/apps/review/models.py @@ -3,7 +3,8 @@ from django.core.validators import MinValueValidator, MaxValueValidator from django.db import models from django.utils.translation import gettext_lazy as _ -from utils.models import BaseAttributes +from utils.models import BaseAttributes, TraslatedFieldsMixin +from utils.models import TJSONField class ReviewQuerySet(models.QuerySet): @@ -18,7 +19,7 @@ class ReviewQuerySet(models.QuerySet): return self.filter(vintage=year) -class Review(BaseAttributes): +class Review(BaseAttributes, TraslatedFieldsMixin): """Review model""" TO_INVESTIGATE = 0 TO_REVIEW = 1 @@ -33,6 +34,9 @@ class Review(BaseAttributes): related_name='reviews', on_delete=models.CASCADE, verbose_name=_('Reviewer')) + text = TJSONField( + _('text'), null=True, blank=True, + default=None, help_text='{"en-GB":"Text review"}') content_type = models.ForeignKey(generic.ContentType, on_delete=models.CASCADE) object_id = models.PositiveIntegerField() content_object = generic.GenericForeignKey('content_type', 'object_id') @@ -40,7 +44,6 @@ class Review(BaseAttributes): on_delete=models.CASCADE, related_name='reviews', verbose_name=_('Review language')) - text = models.TextField(verbose_name=_('Text')) status = models.PositiveSmallIntegerField(choices=REVIEW_STATUSES, default=TO_INVESTIGATE) child = models.ForeignKey('self', blank=True, default=None, null=True,