diff --git a/apps/establishment/filters.py b/apps/establishment/filters.py index 6fc26991..bfbe081d 100644 --- a/apps/establishment/filters.py +++ b/apps/establishment/filters.py @@ -7,9 +7,11 @@ from establishment import models class EstablishmentFilter(FilterSet): tag_id = filters.NumberFilter(field_name='tags__metadata__id',) + award_id = filters.NumberFilter(field_name='awards__id',) class Meta: model = models.Establishment fields = ( 'tag_id', + 'award_id' ) diff --git a/apps/establishment/serializers.py b/apps/establishment/serializers.py index 9ebf83b4..32ade3d7 100644 --- a/apps/establishment/serializers.py +++ b/apps/establishment/serializers.py @@ -2,7 +2,7 @@ from rest_framework import serializers from establishment import models from location.serializers import AddressSerializer -from main.serializers import MetaDataContentSerializer +from main.serializers import MetaDataContentSerializer, AwardSerializer class EstablishmentTypeSerializer(serializers.ModelSerializer): @@ -38,6 +38,7 @@ class EstablishmentSerializer(serializers.ModelSerializer): subtypes = EstablishmentSubTypeSerializer(many=True) address = AddressSerializer() tags = MetaDataContentSerializer(many=True) + awards = AwardSerializer(many=True) class Meta: """Meta class.""" @@ -56,4 +57,5 @@ class EstablishmentSerializer(serializers.ModelSerializer): 'image', 'address', 'tags', + 'awards', ) diff --git a/apps/main/migrations/0012_auto_20190829_1155.py b/apps/main/migrations/0012_auto_20190829_1155.py new file mode 100644 index 00000000..049c9fed --- /dev/null +++ b/apps/main/migrations/0012_auto_20190829_1155.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.4 on 2019-08-29 11:55 + +from django.db import migrations +import utils.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0011_auto_20190829_0821'), + ] + + operations = [ + migrations.AlterField( + model_name='award', + name='title', + field=utils.models.TJSONField(blank=True, default=None, help_text='{"en":"some text"}', null=True, verbose_name='title'), + ), + ] diff --git a/apps/main/models.py b/apps/main/models.py index f181fd2c..cb406d98 100644 --- a/apps/main/models.py +++ b/apps/main/models.py @@ -185,10 +185,10 @@ class SiteFeature(ProjectBaseMixin): unique_together = ('site_settings', 'feature') -class Award(models.Model): +class Award(TraslatedFieldsMixin, models.Model): """Award model.""" award_type = models.ForeignKey('main.AwardType', on_delete=models.CASCADE) - title = JSONField( + title = TJSONField( _('title'), null=True, blank=True, default=None, help_text='{"en":"some text"}') vintage_year = models.CharField(_('vintage year'), max_length=255, default='') diff --git a/apps/main/serializers.py b/apps/main/serializers.py index 32ddf5a6..478093d0 100644 --- a/apps/main/serializers.py +++ b/apps/main/serializers.py @@ -1,5 +1,6 @@ """Main app serializers.""" from rest_framework import serializers + from main import models @@ -72,11 +73,13 @@ class SiteSettingsSerializer(serializers.ModelSerializer): class AwardSerializer(serializers.ModelSerializer): """Award serializer.""" + title_translated = serializers.CharField(read_only=True, allow_null=True) class Meta: model = models.Award fields = [ - # 'title', + 'id', + 'title_translated', 'award_type', 'vintage_year', ] @@ -84,7 +87,8 @@ class AwardSerializer(serializers.ModelSerializer): class MetaDataContentSerializer(serializers.ModelSerializer): id = serializers.IntegerField(source='metadata.id', read_only=True,) - label_translated = serializers.CharField(source='metadata.label_translated', read_only=True, allow_null=True) + label_translated = serializers.CharField( + source='metadata.label_translated', read_only=True, allow_null=True) class Meta: model = models.MetaDataContent