change permissions name unique

This commit is contained in:
2025-06-08 08:29:46 +03:30
parent 5414c6c1dc
commit e0355fff9a
6 changed files with 72 additions and 13 deletions

View File

@@ -40,6 +40,8 @@ class PermissionViewSet(viewsets.ModelViewSet):
queryset = Permissions.objects.all()
serializer_class = PermissionSerializer
filter_backends = [filters.SearchFilter]
search_fields = ['page__name', ]
class UserRelationViewSet(viewsets.ModelViewSet):

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.0 on 2025-06-08 04:52
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('authorization', '0015_permissions_category_permissions_meta_page_and_more'),
]
operations = [
migrations.AlterField(
model_name='permissions',
name='name',
field=models.CharField(max_length=50, unique=True),
),
]

View File

@@ -21,7 +21,7 @@ class Page(BaseModel):
class Permissions(BaseModel):
""" permission level of users """
name = models.CharField(max_length=50)
name = models.CharField(max_length=50, unique=True)
description = models.TextField(max_length=500)
category_choices = (
('api', 'Api'),

View File

@@ -0,0 +1,36 @@
# Generated by Django 5.0 on 2025-06-08 04:52
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('product', '0002_attribute_attributevalue'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='SaleUnit',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('create_date', models.DateTimeField(auto_now_add=True)),
('modify_date', models.DateTimeField(auto_now=True)),
('creator_info', models.CharField(max_length=100, null=True)),
('modifier_info', models.CharField(max_length=100, null=True)),
('trash', models.BooleanField(default=False)),
('unit', models.CharField(max_length=255, null=True)),
('variation_coefficient', models.CharField(max_length=255, null=True)),
('required', models.BooleanField(default=False)),
('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_createddby', to=settings.AUTH_USER_MODEL)),
('modified_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_modifiedby', to=settings.AUTH_USER_MODEL)),
('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sale_unit', to='product.referenceproduct')),
],
options={
'abstract': False,
},
),
]

View File

@@ -92,3 +92,18 @@ class AttributeValue(BaseModel):
def save(self, *args, **kwargs):
return super(AttributeValue, self).save(*args, **kwargs)
class SaleUnit(BaseModel):
product = models.ForeignKey(
ReferenceProduct,
on_delete=models.CASCADE,
related_name='sale_unit',
null=True
)
unit = models.CharField(max_length=255, null=True)
variation_coefficient = models.CharField(max_length=255, null=True)
required = models.BooleanField(default=False)
def __str__(self):
return f'{self.product} - {self.unit} - {self.variation_coefficient}'

View File

@@ -24,11 +24,8 @@ class PaginatedElasticSearchApiView(APIView, LimitOffsetPagination):
def get(self, request, query):
try:
q = self.generate_q_expression(query)
print(q)
search = self.document_class.search().query(q)
print(search)
response = search.execute()
print(response)
print(f"Found {response.hits.total.value} hit(s) for query: '{query}'")
@@ -62,12 +59,3 @@ class SearchUserDocumentApiView(PaginatedElasticSearchApiView):
],
minimum_should_match=1,
)
# return Q(
# "multi_match",
# query=query,
# fields=[
# "user__username"
# ],
# fuzziness='auto'
# )