Filter and concatenate multiple serializers

Karan Goyal
Feb 8, 2023

--

from rest_framework import serializers
# from rest_framework import users # remove this
from django.contrib.auth import get_user_model # add this

from .models import *
from auctions.models import AuctionList


class collectionSerializer(serializers.ModelSerializer):

class Meta:
model = AuctionList
fields = '__all__'


class homeSerializer(serializers.ModelSerializer):

products = serializers.SerializerMethodField()

class Meta:
model = HomePageData
fields = '__all__'

def get_products(self, instance):
# Filter using the Auction model instance and the category related_name
# (which in this case defaults to products_set)
products_instances = AuctionList.objects.filter(category=instance.show_collection)
return collectionSerializer(products_instances, many=True, context={"request": self.context['request']}).data

--

--

Karan Goyal
Karan Goyal

Written by Karan Goyal

Full Stack Developer, Top Rated on Upwork, Worked on 90+ jobs in past 9 months and all jobs are rated 5 stars, coding is fun, and always looking forward to code

No responses yet