Using Groups in Django To Map Organizations
Sounds like the proper usecase for auth groups to me. Some sort of a department head role that can edit the name of a group they belong to (but not the permissions). Whoever IS creating the actual groups and setting permissions is a superuser. Even if you create your own model you can't escape the fact that authority must flow from somewhere. Auth groups has a lot of built-in features around permissions that should save you time.
I am creating a Django app where there will be organizations. Organizations will contain departments –– like human resources/sales –– that will each have their own permissions. The name and roles of groups must be set by the organization itself and won't be known in advance.
There will also be different permissions granted within groups –– a sales manager can do more than a salesperson.
I am unsure to what extent I should use Django's inbuilt groups to handle permissions. Would it be appropriate to make an organization a group? Should a salesperson be a member of two groups –– a departmental group (sales) and a role-based group (salesperson)?