DRF Django: Сериализатор: Как получить список других свойств в отношениях многие-ко-многим
У меня есть следующее
class Foo(models.Model):
something = models.TextField()
bars = models.ManyToMany("app.Bar")
class Bar(models.Model):
example = models.TextField()
class BarSerializer(serializers.ModelSerializer):
class Meta:
model = Bar
fields = ["example"]
class FooSerializer(serializers.ModelSerializer):
testing = BarSerializer(many=True,source=bars)
class Meta:
model = Foo
fields = "__all__"
{
"something": "Testing",
"children": [
{
"example": "Something else"
}
{
"example": "Something else2"
}
],
"bars":[
"Something else",
"Something else2",
]
}
Что я вижу, так это
"children": [
{
"example": "Something else"
}
{
"example": "Something else2"
}
],
Что я хочу, так это
"children": [
"example": "Something else",
"example": "Something else2"
],
Вы можете использовать SlugRelatedField
для имитации этого:
class FooSerializer(serializers.ModelSerializer):
testing = serializers.SlugRelatedField(
many=True,
read_only=True,
slug_field='example',
source='bars'
)