Custom member modelΒΆ

By default, Group‘s attribute members returns a list of Member instances. If you want to create also a custom Member model in addition to custom Group, maybe you want to obtain a list of custom Member model instances with members attribute. This can be obtained with GroupsManagerMeta‘s member_model attribute. This class must be defined in Group subclass/proxy. The value of the attribute is in <application>.<model_name> form.

1) Define models in models.py:

from groups_manager.models import Group, Member

class Organization(Group):

    class GroupsModelMeta:
        model_name = 'myApp.OrganizationMember'


class OrganizationMember(Member):
    pass

2) Call Organization members attribute:

org_a = Organization.objects.create(name='Org, Inc.')
boss = OrganizationMember.objects.create(first_name='John', last_name='Boss')
org_a.add_member(boss)
org_members = org_a.members  # [<OrganizationMember: John Boss>]

Note

A tested example is available in repository source code, testproject‘s tests.py under test_proxy_model_custom_member and test_subclassed_model_custom_member methods.