Django -импорт-экспорт post_save вызывается дважды - PullRequest
1 голос
/ 08 февраля 2020

Я создал пользовательского подкласса из AbstractUser и сигнал post_save и получатель, который печатает идентификатор нового пользователя.

@receiver(post_save, sender=CustomUser, dispatch_uid='members.models.customuser.post_save')
def post_save_custom_user(sender, instance=None, created=False, **kwargs):         
    if not created:                                                                
        return                                                                     
    print('post_save_custom_user: {}'.format(instance.id))

Когда я создаю нового пользователя через интерфейс администратора, получатель вызывается один раз. Когда я импортирую пользователя, используя django-import-export, получатель вызывается дважды: один раз после начального Submit файла импорта и затем снова после Confirm Import. Просматривая код, который я вижу, он создает пользователя в dry_run, откатывает транзакцию и создает ее снова. Но как я могу узнать в моем приемнике, работает ли он dry или нет?

Я использую Python 3.6, Django 3.0.3, django -import-export 2.0.1

...