Я получил модель Slider, которая имеет простую связь с ImageSlider, благодаря ModelViewSet я могу создавать ползунки, а затем создавать ImageSliders и связывать их с помощью ползунка. Но я бы также хотел бы иметь возможность просто загрузить несколько изображений и сделать несколько изображений SliderImage и сопоставить их с одним и тем же ползунком. Я имею в виду, что я хочу иметь оба варианта, но я не уверен, как это сделать и как чтобы проверить это с чем-то вроде почтальона. Я надеюсь, что вы, ребята, можете помочь мне понять, что, поскольку я все еще изучаю DRF
Просмотр слайдера
"""Slider view"""
# Django REST Framework
from rest_framework import viewsets
# Serializers
from api.sliders.serializers import SliderModelSerializer
# Models
from api.sliders.models import Slider
class SliderViewSet(viewsets.ModelViewSet):
"""Slider viewset"""
queryset = Slider.objects.all()
serializer_class = SliderModelSerializer
Просмотр изображения слайдера
"""Slider Images view"""
# Django
from django.shortcuts import get_object_or_404
# Django REST Framework
from rest_framework import viewsets
# Serializers
from api.sliders.serializers import SliderImageModelSerializer
# Models
from api.sliders.models import SliderImage
class SliderImageViewSet(viewsets.ModelViewSet):
"""Slider Image viewset"""
queryset = SliderImage.objects.all()
serializer_class = SliderImageModelSerializer
Сериализатор слайдера
"""Slider Serializers"""
# Django Rest Framework
from rest_framework import serializers
# Serializers
from api.sliders.serializers import SliderImageModelSerializer
# Model
from api.sliders.models import Slider
class SliderModelSerializer(serializers.ModelSerializer):
""" Slider Model Serializer. """
images = SliderImageModelSerializer(many=True, read_only=True)
class Meta:
"""Meta class"""
model = Slider
fields = (
'id',
'status',
'images',
)
Сериализатор изображений слайдера
"""SliderImage Serializers"""
# Django Rest Framework
from rest_framework import serializers
# Model
from api.sliders.models import SliderImage
class SliderImageModelSerializer(serializers.ModelSerializer):
""" Slider Image Model Serializer. """
slider_id = serializers.IntegerField()
class Meta:
""" Meta class """
model = SliderImage
fields = (
'id',
'url',
'link',
'slider_id',
)
Я забочусь только о загрузке файлов и создании / хранении ресурсов, другие поля в ImageSlider не обязательны