add product

This commit is contained in:
javad committed 2026-10-08 16:37:45 +03:30
1 parent 423d4cf40e
commit c8d45dd07c
58 files changed
+8309 -674

No files matched your search

+14 -2
View File
@@ -1,8 +1,10 @@
from django.db import models
from apps.shop.import_models import ProductImportBatch
from utils.base_model import BaseModel
from apps.workspace.models import Workspace as WorkspaceModel
from apps.cuser.models import CuserRole as CuserRoleModel
from apps.customer.models import ResponsibleGroup as ResponsibleGroupModel, Customer as CustomerModel
from apps.shop.ordering import category_ordering, product_ordering
# Create your models here.
@@ -18,9 +20,14 @@ class ProductCategory(BaseModel):
name = models.CharField(max_length=60, null=False, blank=False)
parent = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True)
image = models.ImageField(null=True, blank=True, default=None, upload_to='product-cat/')
order_cat = models.PositiveIntegerField(null=True, blank=True, default=None)
order_cat = models.PositiveIntegerField('ترتیب نمایش دسته', null=True, blank=True, default=None)
excel_order = models.PositiveIntegerField('ترتیب دسته در اکسل', null=True, blank=True, default=None,
help_text='عدد کمتر زودتر نمایش داده می‌شود؛ خالی یعنی استفاده از ترتیب نمایش.')
sys_ws = models.ForeignKey(WorkspaceModel, on_delete=models.CASCADE, null=False, blank=False)
class Meta:
ordering = category_ordering()
def __str__(self):
return f'{self.name}'
@@ -30,12 +37,17 @@ class Product(BaseModel):
price = models.PositiveBigIntegerField(null=False, blank=False)
category = models.ForeignKey(ProductCategory, on_delete=models.CASCADE, null=False, blank=False)
acc_code = models.CharField(null=True, blank=True)
order_prd = models.PositiveIntegerField(null=True, blank=True, default=None)
order_prd = models.PositiveIntegerField('ترتیب نمایش محصول', null=True, blank=True, default=None)
excel_order = models.PositiveIntegerField('ترتیب محصول در اکسل', null=True, blank=True, default=None,
help_text='عدد کمتر زودتر نمایش داده می‌شود؛ خالی یعنی استفاده از ترتیب نمایش.')
attr = models.JSONField(null=True, blank=True)
view_only = models.BooleanField(null=True, blank=True, default=False)
sys_ws = models.ForeignKey(WorkspaceModel, on_delete=models.CASCADE, null=False, blank=False)
class Meta:
ordering = product_ordering()
def __str__(self):
return f'{self.name}'