I have a many-to-many relationship.
class Module(BaseModel):
name = models.TextField(unique=True, null=False)
groups = models.ManyToManyField(ModuleGroup, db_table='module_group_members')
class ModuleGroup(BaseModel):
name = models.TextField(unique=True, null=False)
I want to retrieve the list of modules and their associated groups, something like this:
{[
{
'name' : 'name1'
'groups' : ['group1', 'group2']
},
'name' : 'name2'
'groups' : ['group6', 'group7']
}
]}
Tried this:
modules = Module.objects.filter(is_active=True)
print('values_list', list(modules.values('name', 'groups')))
Which gives e:
[{'name': 'name1', 'groups__name': 'group2'}, {'name': 'name1', 'groups__name': 'group2'}, {'name': 'name2', 'groups__name': 'group6'}, {'name': 'name2', 'groups__name': 'group7'}, ]
Is there any way to group the same modules together so that the group names are in a list?