Django Rest Framework - добавление и обновление рейтинга к фильму - урок 6

preview_player
Показать описание
В уроке по Django Rest Framework реализуем возможность добавление и обновление рейтинга к фильму. Рассмотрим метод create сериализаторов django rest framework.
Не забудь подписаться на канал, чтобы не пропустить новые видео.

---=---

О веб разработке и программировании простым языком.
То что поможет стать высококвалифицированным специалистом.

---=---
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
---=---

#django #djangorestframework #drf #djangoschool #python
Рекомендации по теме
Комментарии
Автор


О веб разработке и программировании простым языком.
То что поможет стать высококвалифицированным специалистом.

DjangoSchool
Автор

Ребята, не забудьте заполнить в админке раздел "Звезды рейтинга" (1шт, потом 2шт, 3, 4, 5), чтобы здесь всё получилось.

Автору курса ОГРОМНАЯ благодарность за такой замечательный контент! СПАСИБО, МИХАИЛ!!!

Andrew-bnsq
Автор

Для тех у кого не работает добавление рейтинга -> HTTP 400 Bad Request
После миграций ваша БД содержит таблицу movies_ratingstar, в которой id и value. Это id и value тех звезд которые нужно выставлять.
У меня в этой таблицу было пусто, я сам добавил 5 значений от 1 до 5. После этого все работает.
При пост запросе мы отправляем json {"star": 5, "movie": 2} star 5 это pk значения сколько звезд мы ставим, а так как таблица была пустая, то запись произвести было невозможно, потому что не было объекта в таблице movies_ratingstar, на который мы указываем в пост запросе
Надеюсь кого-то это убережет от пары часов копания в чем причина HTTP 400 Bad Request

ityosni
Автор

Определил метод create в классе Meta пол часа не мог найти почему мне создает новый обьект рейтинга а не обновляет))

olegmlavets
Автор

объяснение очень непонятное... "вот метод гет_клиент_айпи, вот метод пост", никакого объяснения алгоритма и синтаксиса....

mrmasian
Автор

please help me :AttributeError: Got AttributeError when attempting to get a value for field `star` on serializer `CreateRatingSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `tuple` instance.
Original exception text was: 'tuple' object has no attribute 'star'.

ronnieax
Автор

not valid, status code 400
отправляю словарь

{
"value": 1,
"main_object": 1
}


HTTP 400 Bad Request
Allow: POST, OPTIONS
Content-Type: application/json
Vary: Accept

копировал с курса код, значения до этого в админке добавил, в чем может быть проблема?
UPD. когда передаю значения 2-5 то всё ок, буду искать проблему у себя
UPD.2 проверил, значения с 2 по 6 передаются, хотя у меня указаны значения 1-5, буду разбираться
UPD.3 после того, как переписал добавление рейтинга через generics.CreateAPIView, то через HTML форму могу выставлять значение 1 но при отправке пишет, что присвоено значение 2, если через json - появилось сообщение об ошибке
"value": [
"Invalid pk \"1\" - object does not exist."
]
получается, что значение рейтинга у меня начинается с pk=2, странно но факт:)

flaskblog