You doubt it. If you have a default value for the field, then why not set it in the database and not do something in the aftersave? If you need to do something that needs to be done only in certain circumstances, write a custom method in your model to perform the tasks you want to create or update.
Edit
So, if your record has an identifier, then you know that it exists in the database. So, the simple thing to do (in any method) is to check if the model has an identifier field and that it is not empty. If it is empty, then you know that you are creating a record and you can complete the x task. If this is not so, then complete the task.
if(isset($modelData['ModelName']['id']) && !empty($modelData['ModelName']['id'])){ //This is an update } else { //This is a new record }
source share