Встречается на собеседованиях • сегодня

Зачем нужен декоратор @action

Декоратор @action используется в Django REST Framework для добавления кастомных эндпоинтов к ViewSet. Он позволяет расширить стандартные CRUD-операции (list, create, retrieve и т.д.) дополнительными действиями.

Пример:

python
from rest_framework.decorators import action
from rest_framework.response import Response

class UserViewSet(viewsets.ModelViewSet):
@action(detail=True, methods=['post'])
def activate(self, request, pk=None):
user = self.get_object()
user.is_active = True
user.save()
return Response({'status': 'activated'})

text

Ключевые особенности:
- `detail=True` - действие применяется к конкретному объекту
- `methods` - указывает HTTP-методы для эндпоинта
- URL по умолчанию: `/{model_name}/{pk}/{action_name}/`
- Можно переопределить URL через параметр `url_path`
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы