Alternatively  `self.categories.add(*(FunctionalArea.objects.all().order_by('?')[:l]))`, although I would probably just go for a `for` loop since it's the most readable.

`for area in FunctionalAreas.objects.all().order_by('?')[:l]: self.categories.add(area)`