有谁知道如何将用户分配到一个组(到一个特定的数据库)?
我知道如何读取/创建特定数据库的记录,但不知道如何创建特定数据库的相关表记录。Django官方文档对此并不清楚。这种情况下的语法是什么?
from django.contrib.auth.models import User
from django.contrib.auth.models import Group
user = User.objects.using('db').get(pk=1)
admin_group = Group.objects.using('db').get(name='admin')
# Below line does not work.
user.groups.add(admin_group)
字符串
最后一行似乎并没有真正创建任何记录到auth_user_groups表。相反,它创建记录到默认数据库。如何在最后一行指定数据库?
1条答案
按热度按时间0ejtzxu11#
在Django中,要将用户分配到特定数据库中的特定组,您使用using方法来指定数据库是正确的。您提供的代码几乎是正确的。以下是将用户分配到特定数据库中的特定组的语法:
字符串
这里要记住的关键点是using('db')方法同时用于User对象和Group对象,确保从同一个指定的数据库'db'中检索用户和组。
user.groups.add(admin_group)行将用户添加到指定的组。通过在User.objects.using('db')的上下文中使用该行,它将对指定的数据库执行此操作。
请确保在Django设置中正确配置了引用的数据库(本例中为'db'),以确保在预期的数据库上执行数据操作。