Я пытаюсь выбрать REST-фреймворк для Django, который позволит мне легко использовать ETag для оптимистичной блокировки.Я планирую изучить Django-поршни и библиотеки Django Rest Framework, но я открыт для любого решения не-GPL (требования корпоративного лицензирования не позволяют мне их использовать).
Мое приложение отправляет данные изМодель SQLAlchemy (не модель Django) в форме JSON / YAML, и по модулю проблема ETag прекрасно работает с Django Rest Framework.Однако я не вижу простого способа применения заголовков ETag к моим представлениям.
Для своих представлений я хочу сделать следующее:
Учитывая ответ, легко добавьте ETag к заголовкам ответов, которые я отправляю в случае успеха.Это должно быть рассчитано мной, так как это будет зависеть от модели;недостаточно хэшировать значение ответа или что-то в этом роде.
На POST / PUT убедитесь, что получаемый ETag совпадает с отправленным, или отклоните запрос.
Этап 1 доставляет мне немного хлопот;Я не уверен, какая среда REST сделает это проще всего, и я не уверен, что лучший способ сделать это.