怎么直接操控auth_user_user_permission这张表,而不是使用user_permission.add的那个方法

怎么直接操控auth_user_user_permission这张表,而不是使用user_permission.add的那个方法

参考GPT和自己的思路:如果您想直接操作 Django 中的 auth_user_user_permissions 表,而不是使用 user_permission.add() 方法来添加用户权限,则可以使用 Django 的 ORM(对象关系映射)框架来直接操作该表。
您可以使用以下代码来查询指定用户的权限:
from django.contrib.auth.models import User, Permission
# 获取指定用户
user = User.objects.get(username='your_username')
# 获取指定用户的所有权限
user_permissions = Permission.objects.filter(user=user)
如果您想向用户添加权限,则可以使用以下代码:
from django.contrib.auth.models import User, Permission
# 获取指定用户
user = User.objects.get(username='your_username')
# 获取要添加的权限
permission = Permission.objects.get(codename='your_permission_codename')
# 向用户添加权限
user.user_permissions.add(permission)
如果您想从用户中删除权限,则可以使用以下代码:
from django.contrib.auth.models import User, Permission
# 获取指定用户
user = User.objects.get(username='your_username')
# 获取要删除的权限
permission = Permission.objects.get(codename='your_permission_codename')
# 从用户中删除权限
user.user_permissions.remove(permission)
请注意,直接操作 auth_user_user_permissions 表可能会破坏 Django 权限系统的完整性,并可能导致意外的错误。因此,建议您仅在必要时使用此方法,并确保您了解操作的后果。