This commit is contained in:
2026-04-03 14:31:25 +05:00
parent d44bc04717
commit 8ebbc73982
7 changed files with 39 additions and 5 deletions

View File

@@ -10,7 +10,7 @@ class SubProductInline(TabularInline):
@admin.register(ProductsModel)
class ProductsAdmin(ModelAdmin):
list_display = ("id", "name", "price", "image", "subcategory", "created_at")
list_display = ("id", "name", "price", "order", "subcategory", "created_at")
list_filter = ("subcategory__category__filial", "subcategory__category", "subcategory", "created_at")
search_fields = ("name", "subcategory__name", "subcategory__category__name")
list_select_related = ("subcategory", "subcategory__category", "subcategory__category__filial")

View File

@@ -5,7 +5,7 @@ from django.contrib import admin
@admin.register(TypeModel)
class TypeAdmin(ModelAdmin):
list_display = ("id", "name", "get_filials")
list_display = ("id", "name", "percent", "get_filials")
filter_horizontal = ("filials",)
def get_filials(self, obj):

View File

@@ -0,0 +1,29 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('api', '0012_typemodel_filials'),
]
operations = [
migrations.AddField(
model_name='typemodel',
name='percent',
field=models.DecimalField(decimal_places=2, default=0.0, max_digits=5, verbose_name='percent'),
),
migrations.AddField(
model_name='productsmodel',
name='order',
field=models.PositiveIntegerField(default=0, verbose_name='order'),
),
migrations.AlterModelOptions(
name='productsmodel',
options={
'ordering': ['order'],
'verbose_name': 'ProductsModel',
'verbose_name_plural': 'ProductsModels',
},
),
]

View File

@@ -3,7 +3,6 @@ from django.utils.translation import gettext_lazy as _
from django_core.models import AbstractBaseModel
from model_bakery import baker
from core.apps.api.models.category import SubcategoryModel
@@ -18,6 +17,7 @@ class ProductsModel(AbstractBaseModel):
on_delete=models.CASCADE,
)
description = models.TextField(verbose_name=_("description"), null=True, blank=True)
order = models.PositiveIntegerField(verbose_name=_("order"), default=0)
def __str__(self):
return self.name
@@ -30,6 +30,7 @@ class ProductsModel(AbstractBaseModel):
db_table = "products"
verbose_name = _("ProductsModel")
verbose_name_plural = _("ProductsModels")
ordering = ["order"]
class SubProductModel(AbstractBaseModel):

View File

@@ -6,6 +6,7 @@ from model_bakery import baker
class TypeModel(AbstractBaseModel):
name = models.CharField(verbose_name=_("name"), max_length=255)
percent = models.DecimalField(verbose_name=_("percent"), max_digits=5, decimal_places=2, default=0.0)
filials = models.ManyToManyField(
"api.FilialModel",
verbose_name=_("filials"),

View File

@@ -31,6 +31,7 @@ class BaseProductsSerializer(serializers.ModelSerializer):
"type",
"price",
"image",
"order",
"subcategory",
"subproducts",
]
@@ -45,6 +46,7 @@ class ListProductsSerializer(BaseProductsSerializer):
"type",
"price",
"image",
"order",
"subcategory",
]
@@ -62,4 +64,5 @@ class CreateProductsSerializer(BaseProductsSerializer):
"description",
"price",
"image",
"order",
]

View File

@@ -7,7 +7,7 @@ class BaseTypeSerializer(serializers.ModelSerializer):
class Meta:
model = TypeModel
fields = ["id", "name", "filials"]
fields = ["id", "name", "percent", "filials"]
class ListTypeSerializer(BaseTypeSerializer):
@@ -26,4 +26,4 @@ class CreateTypeSerializer(BaseTypeSerializer):
)
class Meta(BaseTypeSerializer.Meta):
fields = ["id", "name", "filials"]
fields = ["id", "name", "percent", "filials"]