change
This commit is contained in:
@@ -10,7 +10,7 @@ class SubProductInline(TabularInline):
|
|||||||
|
|
||||||
@admin.register(ProductsModel)
|
@admin.register(ProductsModel)
|
||||||
class ProductsAdmin(ModelAdmin):
|
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")
|
list_filter = ("subcategory__category__filial", "subcategory__category", "subcategory", "created_at")
|
||||||
search_fields = ("name", "subcategory__name", "subcategory__category__name")
|
search_fields = ("name", "subcategory__name", "subcategory__category__name")
|
||||||
list_select_related = ("subcategory", "subcategory__category", "subcategory__category__filial")
|
list_select_related = ("subcategory", "subcategory__category", "subcategory__category__filial")
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from django.contrib import admin
|
|||||||
|
|
||||||
@admin.register(TypeModel)
|
@admin.register(TypeModel)
|
||||||
class TypeAdmin(ModelAdmin):
|
class TypeAdmin(ModelAdmin):
|
||||||
list_display = ("id", "name", "get_filials")
|
list_display = ("id", "name", "percent", "get_filials")
|
||||||
filter_horizontal = ("filials",)
|
filter_horizontal = ("filials",)
|
||||||
|
|
||||||
def get_filials(self, obj):
|
def get_filials(self, obj):
|
||||||
|
|||||||
@@ -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',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -3,7 +3,6 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from django_core.models import AbstractBaseModel
|
from django_core.models import AbstractBaseModel
|
||||||
from model_bakery import baker
|
from model_bakery import baker
|
||||||
|
|
||||||
|
|
||||||
from core.apps.api.models.category import SubcategoryModel
|
from core.apps.api.models.category import SubcategoryModel
|
||||||
|
|
||||||
|
|
||||||
@@ -18,6 +17,7 @@ class ProductsModel(AbstractBaseModel):
|
|||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
)
|
)
|
||||||
description = models.TextField(verbose_name=_("description"), null=True, blank=True)
|
description = models.TextField(verbose_name=_("description"), null=True, blank=True)
|
||||||
|
order = models.PositiveIntegerField(verbose_name=_("order"), default=0)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
@@ -30,6 +30,7 @@ class ProductsModel(AbstractBaseModel):
|
|||||||
db_table = "products"
|
db_table = "products"
|
||||||
verbose_name = _("ProductsModel")
|
verbose_name = _("ProductsModel")
|
||||||
verbose_name_plural = _("ProductsModels")
|
verbose_name_plural = _("ProductsModels")
|
||||||
|
ordering = ["order"]
|
||||||
|
|
||||||
|
|
||||||
class SubProductModel(AbstractBaseModel):
|
class SubProductModel(AbstractBaseModel):
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ from model_bakery import baker
|
|||||||
|
|
||||||
class TypeModel(AbstractBaseModel):
|
class TypeModel(AbstractBaseModel):
|
||||||
name = models.CharField(verbose_name=_("name"), max_length=255)
|
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(
|
filials = models.ManyToManyField(
|
||||||
"api.FilialModel",
|
"api.FilialModel",
|
||||||
verbose_name=_("filials"),
|
verbose_name=_("filials"),
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ class BaseProductsSerializer(serializers.ModelSerializer):
|
|||||||
"type",
|
"type",
|
||||||
"price",
|
"price",
|
||||||
"image",
|
"image",
|
||||||
|
"order",
|
||||||
"subcategory",
|
"subcategory",
|
||||||
"subproducts",
|
"subproducts",
|
||||||
]
|
]
|
||||||
@@ -45,6 +46,7 @@ class ListProductsSerializer(BaseProductsSerializer):
|
|||||||
"type",
|
"type",
|
||||||
"price",
|
"price",
|
||||||
"image",
|
"image",
|
||||||
|
"order",
|
||||||
"subcategory",
|
"subcategory",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -62,4 +64,5 @@ class CreateProductsSerializer(BaseProductsSerializer):
|
|||||||
"description",
|
"description",
|
||||||
"price",
|
"price",
|
||||||
"image",
|
"image",
|
||||||
|
"order",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ class BaseTypeSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TypeModel
|
model = TypeModel
|
||||||
fields = ["id", "name", "filials"]
|
fields = ["id", "name", "percent", "filials"]
|
||||||
|
|
||||||
|
|
||||||
class ListTypeSerializer(BaseTypeSerializer):
|
class ListTypeSerializer(BaseTypeSerializer):
|
||||||
@@ -26,4 +26,4 @@ class CreateTypeSerializer(BaseTypeSerializer):
|
|||||||
)
|
)
|
||||||
|
|
||||||
class Meta(BaseTypeSerializer.Meta):
|
class Meta(BaseTypeSerializer.Meta):
|
||||||
fields = ["id", "name", "filials"]
|
fields = ["id", "name", "percent", "filials"]
|
||||||
|
|||||||
Reference in New Issue
Block a user