União e interseção no Django

class Tag(models.Model):
  name = models.CharField(maxlength=100)

class Blog(models.Model):
  name = models.CharField(maxlength=100)
  tags =  models.ManyToManyField(Tag)

Modelos simples só para fazer minha pergunta.

Gostaria de saber como posso consultar blogs usando tags de duas maneiras diferentes.

Entradas de blog que são marcadas com "tag1" ou "tag2":Blog.objects.filter(tags_in=[1,2]).distinct()Objetos de blog que são marcados com "tag1" e "tag2":?Objetos de blog que são marcados com exatamente "tag1" e "tag2" e nada mais:??

Tag e Blog são usados ​​apenas para um exemplo.

questionAnswers(4)

yourAnswerToTheQuestion