19 lines
627 B
Python
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',
|
|
)
|