Как сделать правильно проверку данных и условий в update используя DRF и soft delete?
Для удаления использую soft delete подход. У меня есть модель Task с полем m2m под названием users, в которую добавляются юзеры ответственные на эту задачу.
users = models.ManyToManyField(
'users.User',
verbose_name='Пользователь',
)
Я обновляю запись и добавляю еще новых пользователей в users и здесь мне необходимо реализовать проверку. Я могу добавить в serializer поле:
users = serializers.PrimaryKeyRelatedField(queryset=User.objects.filter(deleted=False), many=True)
Все работает хорошо, но возникает проблема, что если User, который уже ранее был добавлен в Task, удален (deleted=True), то возникает ошибка, что такого пользователя не существует. А мне необходимо чтобы они оставались, но при этом, уже новых пользователей с deleted=True я не мог добавлять. Как сделать так чтобы установленные в Task пользователи, но удаленные, так и оставались в нем, но при этом, при обновлении нельзя было добавлять удаленных пользователей (с deleted=True)?
Вопрос задан только что