From a9658c1009345c66a759c70298c234b2fd619ce9 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 26 Jan 2021 12:06:20 +0000 Subject: [PATCH] applied tags field to company model --- companies/factories.py | 2 +- companies/models.py | 4 +++- companies/serializers.py | 11 +++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/companies/factories.py b/companies/factories.py index 4fd8e80..2c61558 100644 --- a/companies/factories.py +++ b/companies/factories.py @@ -27,7 +27,7 @@ class CompanyFactory(DjangoModelFactory): shop_rss_feed = FuzzyText(prefix='http://SHOP_RSS_FEED_', suffix='.test', length=10) sale_terms = FuzzyText(prefix='SALES_TERMS', length=250) shipping_cost = FuzzyDecimal(low=1.00) - # tags = models.ManyToMany(Tag, null=True) + tags = ['cool', 'hip', 'tech/blockchain'] sync = FuzzyChoice(choices=(True, False)) class Meta: diff --git a/companies/models.py b/companies/models.py index efb67c0..157718e 100644 --- a/companies/models.py +++ b/companies/models.py @@ -1,6 +1,8 @@ # from django.db import models from django.contrib.gis.db import models +from tagulous.models import TagField + # Create your models here. class Company(models.Model): @@ -34,7 +36,7 @@ class Company(models.Model): shop_rss_feed = models.URLField('RSS tienda online', null=True, blank=True) sale_terms = models.TextField('Condiciones de venta', null=True, blank=True) shipping_cost = models.DecimalField('Gastos de envĂ­o', max_digits=10, decimal_places=2, null=True, blank=True) - # tags = models.ManyToMany(Tag, null=True) + tags = TagField(force_lowercase=True,max_count=5, tree=True) sync = models.BooleanField('Sincronizar tienda', default=False, null=True, blank=True) # internal diff --git a/companies/serializers.py b/companies/serializers.py index dd115ae..9ff7fa8 100644 --- a/companies/serializers.py +++ b/companies/serializers.py @@ -1,9 +1,12 @@ from rest_framework import serializers from companies.models import Company +from utils.tag_serializers import TagListSerializerField, TaggitSerializer -class CompanySerializer(serializers.ModelSerializer): +class CompanySerializer(TaggitSerializer, serializers.ModelSerializer): - class Meta: - model = Company - exclude = ['created', 'updated', 'creator'] + tags = TagListSerializerField(required=False) + + class Meta: + model = Company + exclude = ['created', 'updated', 'creator']