12 lines
		
	
	
		
			542 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			542 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
| from django.db.models.signals import m2m_changed
 | |
| from .models import Role, Permission, User
 | |
| from django.dispatch import receiver
 | |
| from django.core.cache import cache
 | |
| from apps.utils.permission import get_user_perms_map
 | |
| 
 | |
| # 变更用户角色时动态更新权限或者前端刷新
 | |
| # @receiver(m2m_changed, sender=User.roles.through)
 | |
| # def update_perms_cache_user(sender, instance, action, **kwargs):
 | |
| #     if action in ['post_remove', 'post_add']:
 | |
| #         if cache.get('perms_' + instance.id, None):
 | |
| #             get_user_perms_map(instance) |