Take this example of a view that returns two querysets each nested into its own object
# schemas.py
class CardModelOut(ModelSchema):
class Meta:
model = Card
fields = [
"id",
"title",
"image",
"uuid",
]
class ArtistModelOut(ModelSchema):
class Meta:
model = Artist
fields = ["id", "name", "slug"]
# api.py
@api.get("/app-cards")
def app_cards(request):
# get queryset
cards = Card.objects.all()
# serialize queryset to dict before passing to response
cards_data = [CardModelOut.from_orm(card).dict() for card in cards]
# same process for another model
artists = Artist.objects.all()
artists_data = [ArtistModelOut.from_orm(artist).dict() for artist in artists]
# response
return {"cards": cards_data, "artists": artists_data}