From 1687e804929ee22e218ce98b33e9a72e82f99f3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80=20=D0=93=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B8=D1=85?= Date: Thu, 21 Nov 2019 13:13:19 +0300 Subject: [PATCH] Check serial number for product --- .../management/commands/add_product_tag.py | 11 +++++++++++ .../migrations/0019_product_serial_number.py | 18 ++++++++++++++++++ apps/product/models.py | 4 ++++ 3 files changed, 33 insertions(+) create mode 100644 apps/product/migrations/0019_product_serial_number.py diff --git a/apps/product/management/commands/add_product_tag.py b/apps/product/management/commands/add_product_tag.py index 6377fcac..9ee09bdd 100644 --- a/apps/product/management/commands/add_product_tag.py +++ b/apps/product/management/commands/add_product_tag.py @@ -149,6 +149,17 @@ class Command(BaseCommand): tag.label = new_label tag.save() + + def check_serail_number(self): + category = TagCategory.objects.get(index_name='serial_number') + tags = Tag.objects.filter(category=category, products__isnull=False) + for tag in tqdm(tags, desc='Update serial number for product'): + tag.products.all().update(serial_number=tag.value) + + self.stdout.write(self.style.WARNING(f'Check serial number product end.')) + + + def handle(self, *args, **kwargs): self.remove_tags_product() self.remove_tags() diff --git a/apps/product/migrations/0019_product_serial_number.py b/apps/product/migrations/0019_product_serial_number.py new file mode 100644 index 00000000..eb8bef34 --- /dev/null +++ b/apps/product/migrations/0019_product_serial_number.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.7 on 2019-11-21 09:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('product', '0018_purchasedproduct'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='serial_number', + field=models.CharField(default=None, max_length=255, null=True, verbose_name='Serial number'), + ), + ] diff --git a/apps/product/models.py b/apps/product/models.py index f499afee..3d27559f 100644 --- a/apps/product/models.py +++ b/apps/product/models.py @@ -219,6 +219,10 @@ class Product(GalleryModelMixin, TranslatedFieldsMixin, BaseAttributes, HasTagsM comments = generic.GenericRelation(to='comment.Comment') awards = generic.GenericRelation(to='main.Award', related_query_name='product') + serial_number = models.CharField(max_length=255, + default=None, null=True, + verbose_name=_('Serial number')) + objects = ProductManager.from_queryset(ProductQuerySet)() class Meta: