Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##################################################################################
- # Исправленный вариант 2: Запуск задачи отложен до завершения транзакции через
- # механизм django `transaction.on_commit`
- ##################################################################################
- @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: update_guide_exp_visibility.delay(exp_id)
- )
- ########################################################################
- # В чём проблема/ошибка этого решения? Как это исправить?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement