可以通过在Django的User模型上创建一个信号的方式来实现将新用户的默认职员设置为staff member。这个信号将在新用户创建之前调用。
示例代码:
from django.contrib.auth.models import User
from django.db.models.signals import pre_save
from django.dispatch import receiver
from django.contrib.auth.models import Group
@receiver(pre_save, sender=User)
def set_default_staff_member(sender, instance, **kwargs):
if not instance.pk and not instance.is_staff:
group = Group.objects.get(name='staff')
instance.is_staff = True
instance.groups.add(group)
在上面的示例代码中,pre_save信号用于在新用户创建之前发送信号。在信号接收函数set_default_staff_member中,我们检查用户是否已经是staff member以及是否有主键。然后将用户添加到'staff”组并将其is_staff标志设置为True。这样,当用户被保存时,就会自动分配默认职员。
需要注意的是,在将新用户添加到'staff”组之前,必须首先创建该组,并且将已有的用户添加到该组中。可以在Django的管理后台中进行这些操作,也可以在代码中使用Group模型。
希望这个示例代码对你有帮助。