Если это основная функциональность для сохранения модели, вы захотите использовать ее как часть метода сохранения. Однако, если у вас уже есть функционирующая модель, и вы хотите расширить ее для других целей, лучше всего подавать сигналы, поскольку они позволяют правильно расцепить модули.
Хорошим примером может быть то, что вы хотите добавить регистрацию событий на свой сайт, поэтому вы просто слушаете сигналы, обозначающие событие, а не модифицируете исходный код сайта.
post_save () обычно лучше, потому что это означает, что модель была успешно сохранена, использование pre_save () не гарантирует, что сохранение будет успешным, поэтому не должно использоваться для чего-либо, что будет зависеть от того, завершено ли сохранение.