Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # MODELS.PY
- from django.db import models
- class DataPoint(models.Model):
- # flat model
- label = models.CharField(max_length=50)
- x_coordinate = models.SmallIntegerField()
- y_coordinate = models.SmallIntegerField()
- # ====================================================
- class Coordinate(models.Model):
- x = models.SmallIntegerField()
- y = models.SmallIntegerField()
- class DataPoint2(models.Model):
- # nested model
- label = models.CharField(max_length=50)
- coordinates = models.ForeignKey("Coordinate", on_delete=models.CASCADE)
- # SERIALIZERS.PY
- from rest_framework import serializers
- from .models import *
- ###### NESTED at the SERIALIZER level
- class NestedCoordinateSerializer(serializers.Serializer):
- x = serializers.IntegerField(source='x_coordinate')
- y = serializers.IntegerField(source='y_coordinate')
- class DataPointSerializer(serializers.ModelSerializer):
- coordinates = NestedCoordinateSerializer(source='*')
- class Meta:
- model = DataPoint
- fields = ['label', 'coordinates']
- ########################################################
- ###### NESTED at the MODEL level
- class CoordSerializer(serializers.ModelSerializer):
- class Meta:
- model = Coordinate
- fields = ["x", "y"]
- class DataPoint2Serializer(serializers.ModelSerializer):
- coordinates = CoordSerializer()
- class Meta:
- model = DataPoint2
- fields = ["label", "coordinates"]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement