При отправке объекта необходимо дополнительно передать предыдущий объект и следующей.
models.py
from django.db import models
from autoslug import AutoSlugField
class Events(models.Model):
title = models.CharField('Название мероприятия', max_length=300)
text = models.TextField('Описание мероприятия')
date = models.DateField('Дата проведения мероприятия', null=True)
slug = AutoSlugField(unique=True, always_update=True, sep='_', editable=False,
populate_from='title', null=True)
def __str__(self):
return self.title
class Meta:
verbose_name = "Мероприятие"
verbose_name_plural = "Мероприятия"
serializers.py
from rest_framework import serializers
from .models import Events
class EventsSerializer(serializers.Serializer):
id = serializers.IntegerField()
title = serializers.CharField()
text = serializers.CharField()
date = serializers.DateField(format='%d %B %Y')
slug = serializers.CharField()
views.py
from rest_framework import generics
from .models import Events
from web_back import serializers
class EventsDetailView(generics.RetrieveAPIView):
lookup_field = 'slug'
serializer_class = serializers.EventsSerializer
queryset = Events.objects.all().order_by('date')
urls.py
from django.urls import path
from . import views
urlpatterns = [path('events/<str:slug>/', views.EventsDetailView.as_view())]
Идёт запрос конкретного мероприятия по slug. Вместе с ответом необходимо передать slug следующего мероприятия по дате и предыдущего мероприятия по дате.