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.