Встречается на собеседованиях • сегодня
Зачем нужен декоратор @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`
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы