@Amoena

Как сделать правильно проверку данных и условий в 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)?
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы