Вероятно, вы должны использовать единичные имена для ваших моделей классов. Например, я бы переписал модели как:
class Domain(models.Model):
name = models.CharField(max_length=30)
description = models.CharField(max_length= 60)
user = models.ManyToManyField('User', blank=True, null=True)
def __unicode__(self):
return self.name
class Group(models.Model):
domain = models.ForeignKey(Domain, related_name='groups')
name = models.CharField(max_length=30)
description = models.CharField(max_length= 60)
def __unicode__(self):
return self.name
class User(models.Model):
login = models.CharField(max_length=30, unique=True)
group = models.ManyToManyField(Group, related_name='users', blank=True, null=True)
def __unicode__(self):
return self.login
Поскольку у вас есть пользователи, имеющие непосредственное отношение к группам, вам вообще не нужно привлекать домены. Чтобы получить все имена групп для определенного пользователя, вы должны сделать:
Group.objects.filter(users__pk=...).values_list('name', flat=True)
Замените '...' идентификатором интересующего вас пользователя.