Учитывая эти две модели:
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)
, но это кажется плохим.
Обратите внимание, что я не хочу удалять эти элементы, поскольку они также могут принадлежать другим источникам. Я просто хочу удалить их связь с конкретным источником.