Files
watersurf-erp/app/documents/services.py

13 lines
441 B
Python

from django.db.models import Max
def next_number(model_class, field_name="number"):
"""Следующий номер по порядку (максимум + 1). Для числоподобных строк."""
agg = model_class.objects.aggregate(m=Max(field_name))
current = agg["m"]
if current is None:
return "1"
try:
return str(int(current) + 1)
except (ValueError, TypeError):
return "1"