Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##################################################################################
- # Исправленный вариант 3: чтобы избавиться от замыкания
- # использована передача `exp_id` через дефолтное значение аргумента
- ##################################################################################
- @receiver(post_save, sender=Guide)
- def update_experience_visibility_after_guide_placement_status_change(sender, instance: Guide, created, **kwargs):
- """Обновление видимости экспириенсов гида после смены его статуса размещения"""
- guide = instance
- if guide.is_changed('placement_status'):
- for exp_id in guide.experiences_created.values_list('pk', flat=True):
- transaction.on_commit(
- lambda exp_id_copy=exp_id: update_guide_exp_visibility.delay(exp_id_copy)
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement