У меня есть отношение многие ко многим в моих моделях, как это.
class Shift(models.Model):
employees = models.ManyToManyField('account.Employee',
related_name='allocated_in',
blank=True)
Скажем, у меня есть конкретный экземпляр сотрудника employee
. Я могу удалить его из экземпляра с одной сменой shift
вот так.
shift.employees.remove(employee)
Как я могу удалить employee
из каждого экземпляра набора запросов Shift
?
shift_qs = Shift.objects.filter(date__gt=timezone.now().date)
Я хочу удалить employee
из каждого экземпляра в shift_qs
в один запрос. Желательно без цикл по набору запросов.
Используйте промежуточную модель:
IModel = shift_qs.employees.through
IModel.objects.filter(shift__in=shift_qs, employee=employee).delete()