Учитывая эти две модели:
class Item(models.Model):
timestamp = models.DateTimeField()
class Source(models.Model):
items = models.ManyToManyField(Item, related_name="sources")
Я могу найти все исходные элементы до заданного времени, используя это:
source.items.filter(timestamp__lte=some_datetime)
Как эффективно удалить все элементы, соответствующие этому запросу? Полагаю, я мог бы попробовать что-то вроде этого:
items_to_remove = list(source.items.filter(timestamp__lte=some_datetime))
source.items.remove(*items_to_remove)
но это кажется плохим.
Обратите внимание, что я не хочу удалять эти элементы, так как они также могут принадлежать другим источникам. Я просто хочу удалить их отношения с конкретным источником.