Files
crmApi/apps/shop/ordering.py
T
2026-10-08 16:37:45 +03:30

19 lines
627 B
Python

from django.db.models import F
from django.db.models.functions import Coalesce
def category_ordering(prefix='', excel=False):
field = F(prefix + 'order_cat')
if excel:
field = Coalesce(prefix + 'excel_order', prefix + 'order_cat')
return (field.asc(nulls_last=True), prefix + 'name', prefix + 'pk')
def product_ordering(prefix='', excel=False):
field = F(prefix + 'order_prd')
if excel:
field = Coalesce(prefix + 'excel_order', prefix + 'order_prd')
return category_ordering(prefix + 'category__', excel) + (
field.asc(nulls_last=True), prefix + 'name', prefix + 'pk',
)