Пользователь добавляется в несколько групп разрешений вместо одной

В моем приложении, когда пользователь регистрируется, он идентифицируется либо как преподаватель, либо как студент. Они классифицируются как auth_groups, и пользователи назначаются в одну из них с помощью следующих методов...

  def register_student(self, data):
    user = User.objects.create(
      user_id = data["user_id"]
    )
    students_group = Group.objects.get(name = "students") 
    user.groups.add(students_group)

    return user
  
  def register_lecturer(self, data):
    user = User.objects.create(
      user_id = data["user_id"]
    )
    lecturers_group = Group.objects.get(name = "lecturers") 
    user.groups.add(lecturers_group)

    return user

На первый взгляд, это работает нормально, но когда я приступил к написанию набора тестов, возникла следующая проблема: при вызове register_student пользователь добавляется как к группам преподавателей, так и к группам студентов в строке user.groups.add(students_group).

It seemingly identifies the right group that the user should be added to... ...But then adds the user to both groups

Я хочу отметить, что у "студентов" больше прав доступа, чем у "преподавателей".

Почему это происходит? Спасибо за любую помощь!

Вернуться на верх