Разработка модели данных и REST‑эндпоинта

Создайте модель Course с четырьмя полями, явный serializer и read-only список через DRF ListAPIView. Поля ответа перечислите, а не открывайте всю модель.

Короткий ответ

Что ответить на собеседовании

Создайте модель Course с четырьмя полями, явный serializer и read-only список через DRF ListAPIView. Поля ответа перечислите, а не открывайте всю модель.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо создать модель с полями: код, специальность, профиль и уровень подготовки. Затем реализовать HTTP‑эндпоинт, который будет отдавать список всех записей модели для отображения на главной странице.

Ответ

Создайте модель Course с четырьмя полями, явный serializer и read-only список через DRF ListAPIView. Поля ответа перечислите, а не открывайте всю модель.

# models.py
from django.db import models

class Course(models.Model):
    code = models.CharField(max_length=32)
    specialty = models.CharField(max_length=255)
    profile = models.TextField()
    level = models.CharField(max_length=100)

# api.py
from rest_framework import serializers, generics
from .models import Course

class CourseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Course
        fields = ('id', 'code', 'specialty', 'profile', 'level')

class CourseList(generics.ListAPIView):
    queryset = Course.objects.order_by('id')
    serializer_class = CourseSerializer
    pagination_class = None

Подключите path('api/courses/', CourseList.as_view()) и примените миграцию. Пагинация отключена, чтобы буквально вернуть все записи; при росте каталога её стоит согласованно добавить. Публичность определяется permission-классами, а не самим ListAPIView. Уровень можно вынести в справочник при необходимости.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее