Django dirty_fields и post_save - PullRequest
0 голосов
/ 10 мая 2019

В моих сигналах есть метод, который захватывает сигнал 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
...