Я делал немного криво, но другого способа не нашел
class TechniqueGroup(models.Model):
name = models.CharField(max_length=250, verbose_name='Тематика', blank=True, null=True, unique=True)
technique = models.ManyToManyField(Technique, verbose_name='техника', related_name='group', blank=True, )
def grouplist(self):
group = []
for tech in self.technique.all():
group.append(tech.id)
return group
def __str__(self):
return self.name
а потом уже можно было в фильтре делать
QuerySet.filter(fieldname__id__in = techniquegroup.grouplist())
если найдется код более лаконичный, то тоже буду рад.