Код: Выделить всё
{
"hive_metadata": {"name": "hive name"},
"bees": [{"name": "bee 1", "name": "bee 2", ...}]
}
Код: Выделить всё
class Hive(models.Model):
name = models.CharField(max_length=32, help_text="name")
class Bee(models.Model):
name = models.CharField(max_length=32, help_text="name")
hive = models.ForeignKey(
Hive, help_text="The Hive associated with this Bee", on_delete=models.CASCADE
)
Если я напишу
Код: Выделить всё
class BeesSerializer(ModelSerializer):
class Meta:
model = models.Bee
fields = ("name",)
class PopulatedHiveSerializer(ModelSerializer):
bees = BeesSerializer(many=True, source="bee_set")
class Meta:
model = models.Hive
fields = ("name","bees",)
Код: Выделить всё
{
"name": "hive name",
"bees": [{"name": "bee 1", "name": "bee 2", ...}]
}
Код: Выделить всё
class HiveMetaDataSerializer(ModelSerializer):
class Meta:
model = models.Hive
fields = ("name",)
class PopulatedHiveSerializer(ModelSerializer):
bees = BeesSerializer(many=True, source="bee_set")
hive_metadata = HiveMetaDataSerializer(source=???)
class Meta:
model = models.Hive
fields = ("hive_metadata","bees",)
Итак, есть ли способ сделать это с помощью сериализатора Django rest framework?
Подробнее здесь: https://stackoverflow.com/questions/790 ... serializer