¿Cómo elimino varios objetos en una relación ManyToMany basada en un filtro?

Dados estos dos modelos:

class Item(models.Model):
    timestamp = models.DateTimeField()

class Source(models.Model):
    items = models.ManyToManyField(Item, related_name="sources")

Puedo encontrar todos los elementos de una fuente antes de un tiempo determinado usando esto:

source.items.filter(timestamp__lte=some_datetime)

¿Cómo elimino eficientemente todos los elementos que coinciden con esa consulta? Supongo que podría intentar algo como esto:

items_to_remove = list(source.items.filter(timestamp__lte=some_datetime))
source.items.remove(*items_to_remove)

Pero eso parece malo.

Tenga en cuenta que no quieroEliminar estos elementos, ya que también pueden pertenecer a otras fuentes. Solo quiero eliminar su relación con la fuente específica.