Merge branch 'feature/nested-published-features' into 'develop'
Feature/nested published features See merge request gm/gm-backend!112
This commit is contained in:
commit
995d55302a
|
|
@ -68,7 +68,7 @@ class CitySerializer(serializers.ModelSerializer):
|
|||
queryset=models.Country.objects.all(),
|
||||
write_only=True
|
||||
)
|
||||
country = CountrySerializer()
|
||||
country = CountrySerializer(read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = models.City
|
||||
|
|
|
|||
18
apps/main/migrations/0034_sitefeature_nested.py
Normal file
18
apps/main/migrations/0034_sitefeature_nested.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 2.2.4 on 2019-11-07 14:41
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('main', '0033_auto_20191106_0744'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='sitefeature',
|
||||
name='nested',
|
||||
field=models.ManyToManyField(to='main.SiteFeature'),
|
||||
),
|
||||
]
|
||||
|
|
@ -151,6 +151,7 @@ class SiteFeature(ProjectBaseMixin):
|
|||
feature = models.ForeignKey(Feature, on_delete=models.PROTECT)
|
||||
published = models.BooleanField(default=False, verbose_name=_('Published'))
|
||||
main = models.BooleanField(default=False, verbose_name=_('Main'))
|
||||
nested = models.ManyToManyField('self', symmetrical=False)
|
||||
|
||||
objects = SiteFeatureQuerySet.as_manager()
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from rest_framework import serializers
|
|||
from advertisement.serializers.web import AdvertisementSerializer
|
||||
from location.serializers import CountrySerializer
|
||||
from main import models
|
||||
from utils.serializers import ProjectModelSerializer, TranslatedField
|
||||
from utils.serializers import ProjectModelSerializer, TranslatedField, RecursiveFieldSerializer
|
||||
|
||||
|
||||
class FeatureSerializer(serializers.ModelSerializer):
|
||||
|
|
@ -27,6 +27,7 @@ class SiteFeatureSerializer(serializers.ModelSerializer):
|
|||
priority = serializers.IntegerField(source='feature.priority')
|
||||
route = serializers.CharField(source='feature.route.page_name')
|
||||
source = serializers.IntegerField(source='feature.source')
|
||||
nested = RecursiveFieldSerializer(many=True, allow_null=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
@ -36,8 +37,9 @@ class SiteFeatureSerializer(serializers.ModelSerializer):
|
|||
'slug',
|
||||
'priority',
|
||||
'route',
|
||||
'source'
|
||||
)
|
||||
'source',
|
||||
'nested',
|
||||
)
|
||||
|
||||
|
||||
class CurrencySerializer(ProjectModelSerializer):
|
||||
|
|
|
|||
|
|
@ -98,3 +98,9 @@ class FavoritesCreateSerializer(serializers.ModelSerializer):
|
|||
@property
|
||||
def slug(self):
|
||||
return self.request.parser_context.get('kwargs').get('slug')
|
||||
|
||||
|
||||
class RecursiveFieldSerializer(serializers.Serializer):
|
||||
def to_representation(self, value):
|
||||
serializer = self.parent.parent.__class__(value, context=self.context)
|
||||
return serializer.data
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user