Advertisement
Guest User

Untitled

a guest
Feb 9th, 2021
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | None | 0 0
  1. # Обрабатываем создание нового аккаунта на сайте
  2. @receiver(post_save, sender=User)
  3. def account_save_handler(sender, **kwargs):
  4.     transaction.on_commit(lambda: task_account_save_handler.delay(
  5.         kwargs['instance'].pk, kwargs['created']))
  6.  
  7.  
  8. #Задача Сelery для обработки пользователя на сайте
  9. @shared_task(bind=True)
  10. def task_account_save_handler(self, pk, is_created):
  11.     try:
  12.         on_account_saved(pk, is_created)
  13.     except exceptions.AmoApiException as exc:
  14.         raise self.retry(exc=exc)
  15.     except Exception as exc:
  16.         logger.error('Exception: {}'.format(pk, exc))
  17.  
  18.  
  19.  
  20.  # Собственно обработчик регистрации
  21. def on_account_saved(pk, is_created):
  22.     user = User.objects.get(pk=pk)
  23.     if not user.external_id and is_created:
  24.        
  25.         ### DO something
  26.  
  27.         user.external_id=new_contact.id
  28.         user.external_type='type_1'
  29.         user.save(update_fields=['external_id', 'external_type'])
  30.         #User.objects.filter(pk=user.pk).update(external_type='type_1', external_id=new_contact.id)
  31.  
  32.  
  33.         ### DO something
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement