diff --git a/apps/authorization/api/v1/serializers.py b/apps/authorization/api/v1/serializers.py index e332f6d..33fd777 100644 --- a/apps/authorization/api/v1/serializers.py +++ b/apps/authorization/api/v1/serializers.py @@ -96,7 +96,7 @@ class RoleSerializer(serializers.ModelSerializer): representation['type'] = auth_serializer.OrganizationTypeSerializer(instance.type).data if instance.permissions: # noqa permissions = instance.permissions.filter(is_active=True) - representation['permissions'] = PermissionSerializer().permissions_structure_output(permissions) + representation['permissions'] = PermissionSerializer(permissions, many=True).data return representation diff --git a/apps/product/apps.py b/apps/product/apps.py index cb72851..427f54b 100644 --- a/apps/product/apps.py +++ b/apps/product/apps.py @@ -4,3 +4,6 @@ from django.apps import AppConfig class ProductConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'apps.product' + + def ready(self): + import apps.product.signals diff --git a/apps/product/models.py b/apps/product/models.py index 6049b36..260392e 100644 --- a/apps/product/models.py +++ b/apps/product/models.py @@ -64,10 +64,22 @@ class Product(BaseModel): null=True ) + def generate_product_id(self): # noqa + """ generate id for product from 10 """ + + last = Product.objects.filter(product_id__gte=10, product_id__lte=1999).order_by('-product_id').first() + if last: + next_code = last.product_id + 1 + else: + next_code = 10 + return next_code + def __str__(self): return f'name: {self.name} - type: {self.type}' def save(self, *args, **kwargs): + if not self.product_id: + self.product_id = self.generate_product_id() # set product id super(Product, self).save(*args, **kwargs)