From 1159dfca6524d77aaf6ab35ecd92e5fc25747357 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Sun, 17 Nov 2019 22:55:03 +0300 Subject: [PATCH] added assemblage to detail view of product, and fix verbose name in ProductType --- .../migrations/0015_auto_20191117_1954.py | 18 ++++++++++++++++++ apps/product/models.py | 6 +++++- apps/product/serializers/common.py | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 apps/product/migrations/0015_auto_20191117_1954.py diff --git a/apps/product/migrations/0015_auto_20191117_1954.py b/apps/product/migrations/0015_auto_20191117_1954.py new file mode 100644 index 00000000..78fbfee0 --- /dev/null +++ b/apps/product/migrations/0015_auto_20191117_1954.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.7 on 2019-11-17 19:54 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('product', '0014_auto_20191117_1117'), + ] + + operations = [ + migrations.AlterField( + model_name='producttype', + name='tag_categories', + field=models.ManyToManyField(related_name='product_types', to='tag.TagCategory', verbose_name='Tag categories'), + ), + ] diff --git a/apps/product/models.py b/apps/product/models.py index b76340da..4a92a5fa 100644 --- a/apps/product/models.py +++ b/apps/product/models.py @@ -31,7 +31,7 @@ class ProductType(TranslatedFieldsMixin, ProjectBaseMixin): use_subtypes = models.BooleanField(_('Use subtypes'), default=True) tag_categories = models.ManyToManyField('tag.TagCategory', related_name='product_types', - verbose_name=_('Tag')) + verbose_name=_('Tag categories')) class Meta: """Meta class.""" @@ -250,6 +250,10 @@ class Product(GalleryModelMixin, TranslatedFieldsMixin, BaseAttributes): def bottles_produced(self): return self.tags.filter(category__index_name='bottles-produced') + @property + def grape_variety(self): + return self.tags.filter(category__index_name='grape-variety') + @property def related_tags(self): return self.tags.exclude(category__index_name__in=['sugar-content', 'wine-color', 'bottles-produced', diff --git a/apps/product/serializers/common.py b/apps/product/serializers/common.py index 8aba842e..6fe2d0b3 100644 --- a/apps/product/serializers/common.py +++ b/apps/product/serializers/common.py @@ -127,6 +127,7 @@ class ProductDetailSerializer(ProductBaseSerializer): wine_sub_region = WineSubRegionBaseSerializer(read_only=True) bottles_produced = TagBaseSerializer(many=True, read_only=True) sugar_contents = TagBaseSerializer(many=True, read_only=True) + grape_variety = TagBaseSerializer(many=True, read_only=True) image_url = serializers.URLField(allow_null=True, read_only=True) @@ -144,6 +145,7 @@ class ProductDetailSerializer(ProductBaseSerializer): 'sugar_contents', 'image_url', 'new_image', + 'grape_variety', ]