В моих сигналах есть метод, который захватывает сигнал post_save и проверяет, есть ли у переданного экземпляра определенное грязное поле.
Мне было интересно, может ли моя реализация столкнуться с недостатками, так как dirty_fields сравнивает память и dbчтобы найти эти поля, и я делаю это в post_save, который должен запускаться в конце метода сохранения, верно?
В основном это:
@receiver(post_save, sender=MyModel)
def process_post_save(sender, instance, created, **kwargs):
reason_to_process = [
'sample1',
'sample2',
'sample3',
'expired'
]
for x in instance.get_dirty_fields(check_relationship=True):
if x in reason_to_process:
blah