Проблемы с проверкой полей по умолчанию в django rest framework - PullRequest
0 голосов
/ 14 марта 2019

У меня есть следующие проблемы для такой вложенной модели:

def Post(models.Model)
    name = models.CharField(unique=True)
    content = models.TextField()

def Comment(models.Model)
    post = models.ForeignKey(Post)
    content = models.CharField()

Я создал сериализаторы модели по умолчанию с всеми полями.

Проблемы:

  1. Сериализатор модели по умолчанию не работает для вложенных моделей. Я должен явно написать создать / обновить. Это было объяснено в документации, так что ничего против. Хотя я думаю, что выбор нормального значения по умолчанию может обслуживать до 99% случаев использования (а в остальном поведение может быть настраиваемым). Я постараюсь сделать снимок в этом.

  2. Когда я пытаюсь использовать json из существующего объекта post, serializer is_valid () завершается с ошибкой, говоря: «уникальное ограничение имени не выполнено». Но я хотел его обновить, а не создавать. Если is_valid не поддерживает создание / обновление на основе идентификатора, передаваемого в json.

  3. При создании нового вложенного json со многими комментариями is_valid () завершается ошибкой, сообщая, что «сообщение пусто». Конечно, у меня не будет идентификатора записи в json, так как создание записи еще не произошло. Так is_valid становится бесполезным. Разве is_valid не должен зависеть от того, передан ли идентификатор в json? Кроме того, я не могу использовать data / validated_data без прохода is_valid.

  4. Установка валидаторов = [] также не удаляет валидацию полей. Я еще не нашел способ подавления проверки полей.

Я просмотрел исходный код и документацию и потратил больше суток на то, чтобы настроить что-то настолько простое.

Я, должно быть, упускаю что-то простое, поэтому любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...