ur001

Untitled

Apr 15th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.77 KB | None | 0 0
  1. with transaction.atomic():
  2.     guide = ExpUser.objects.select_for_update().get(pk=XXX)
  3.     guide.guide_placement_status = ExpUser.PLACEMENT_STATUS_STOPED
  4.     guide.save(update_fields=['guide_placement_status'])
  5.  
  6.  
  7.  
  8.  
  9.  
  10. # https://pastebin.com/sgnXsRDG
  11. @receiver(post_save, sender=User)
  12. def update_experience_visibility_after_guide_placement_status_change(sender, instance, created, **kwargs):
  13.     """
  14.    Обновление видимости экскурсиий гида после смены его статуса размещения
  15.    :param core.models.ExpUser instance: гид
  16.    """
  17.     guide = instance
  18.     if guide.is_changed('guide_placement_status'):
  19.         for exp_id in guide.experiences_created.values_list('pk', flat=True):
  20.             update_guide_exp_visibility(exp_id)
Add Comment
Please, Sign In to add comment