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"