Создайте модель Course с четырьмя полями, явный serializer и read-only список через DRF ListAPIView. Поля ответа перечислите, а не открывайте всю модель.
Разработка модели данных и REST‑эндпоинта
Создайте модель 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. Уровень можно вынести в справочник при необходимости.