Django filter objects by Many-To-Many field intersection

Hello,

Can some good person give me advice on how to get a queryset of ordered objects by intersecting a many-to-many field with a given one object's many-to-many field?

For example I have:

class Video(models.Model):
tags = models.ManyToManyField(Tag, blank=True)

...

class Tag(models.Model):
name = models.CharField(max_length=64)

...

I select one Video object and would like to have first ten objects that have most similar tags set to show like related videos.

Thanks in advance!

queryset = Video.objects.filter(tags=#your_tag)[:11]
Back to Top