Django 1.11, Django Rest Framework 3.6.
У меня есть 2 модели, Foo
и Bar
:
class Foo(models.Model):
name=models.CharField()
sex=models.CharField()
class Bar(models.Model):
type=models.CharField()
foo=models.ForeignKey(Foo)
По моему serializers.py
у меня есть:
class FooSerializer(serializers.ModelSerializer):
class Meta:
model = Foo
fields = ('sex',)
class BarSerializer(serializers.ModelSerializer):
foo = FooSerializer(many=False)
class Meta:
model = Bar
fields = ('type', 'foo',)
Это производит JSON, как это:
{
"type": "abcdefg",
"foo": {
"sex": "male"
}
}
Что я действительно хочу, чтобы поле «foo» было плоским, то есть: * 10101 *
{
"type": "abcdefg",
"foo": "male"
}
Одним из возможных решений было бы использование StringRelatedField , но это повлекло бы за собой установку метода __str__
модели Foo
для возврата поля sex
, которое мне не нужно.