Использование Django == 2.2.11, djangorestframework == 3.8.1
Спасибо за чтение!
У используемых мной URL-адресов есть коллизия:
urlpatterns = [
. . .
url(
r'^some-path$',
views.MyViewSet.as_view({'get': 'list'})
),
url(
r'^some-path$',
views.MyViewSet.as_view({'post': 'create'}),
),
...
]
Я использую почтальон для проверки каждого пути, и кажется, что есть конфликт между этими двумя URL-адресами. Использование этого URL с GET будет работать:
http://my_domain.com:8000/some-path
Но POST с таким же URL-адресом (и с допустимой полезной нагрузкой) выдаст ошибку:
WARNING 2020-03-28 19:13:57,288 "POST /some-path HTTP/1.1" 405 41
И ответ:
{"detail": "Method \"POST\" not allowed."}
Я переставляю URL по порядку, тогда сработает POST, и GET выдаст похожую ошибку.
Я посмотрел этот пост: Метод POST 405 не разрешен
Я бы с радостью добавил код представления - но я почти уверен, что проблема связана с URL-адресами, так как каждый из них работает при смене порядка. Добавим его по запросу.
Спасибо!
РЕДАКТИРОВАТЬ: я перепутал URL-адреса - добавил retrieve
вместо list
извините!