add award filter

This commit is contained in:
Dmitriy Kuzmenko 2019-08-29 15:00:30 +03:00
parent e7c0490a4f
commit 2a16198a8b
5 changed files with 32 additions and 5 deletions

View File

@ -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'
)

View File

@ -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',
)

View File

@ -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'),
),
]

View File

@ -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='')

View File

@ -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