У меня есть две модели, одна содержит другую в отношении ForeignKey, я хотел создать API, который бы возвращал объединение этих двух моделей, поэтому я попытался использовать вложенные Serializer для добавления связанной модели, ноданные не все на одном уровне, связанные модели - это объекты внутри первого.
Вот модели
class ModelOne(models.Model):
last_counter = models.IntegerField()
class ModelTwo(models.Model):
model_one = models.ForeignKey(ModelOne, on_delete=models.CASCADE)
category = models.CharField(max_length=64)
counter_type = models.CharField(max_length=32)
Вот сериализаторы
class ModelOneSerializer(serializers.ModelSerializer):
class Meta:
model = ModelOne
fields = "__all__"
class ModelTwoSerializer(serializers.ModelSerializer):
model_one= ModelOneSerializer(read_only=True)
class Meta:
model = ModelTwo
fields = "__all__"
Это будет возвращаться из API в виде
{
"category" : ...,
"counter_type" : ...,
"model_one" : {
"last_counter" : ...
}
}
Но я не хочу, чтобы ответ был таким, я хочу, чтобы он был больше похож на это
{
"category" : ...,
"counter_type" : ...,
"last_counter" : ...,
}
Есть ли способ добиться этого с помощью сериализаторов?