SlugRelatedField对Django Rest Framework的序列化没有任何影响



全部,

我正在尝试用相关模型中的字段替换标准外键字段序列化。

这里有一些代码:

class Foo(models.Model):
  name = models.CharField()
  bar = models.ForeignKey("Bar")
class Bar(models.Model):
  name = models.CharField()
class FooSerializer(serializers.ModelSerializer):
  class Meta:
    model = Foo
    fields = ("id", "name", "bar", )
  bar = serializers.SlugRelatedField(read_only=True, slug_field="name")

但无论我做什么,它都使用bar实例的pk进行序列化,而不是它的名称。

你知道我做错了什么吗?

谢谢。

尝试这样做:

class FooSerializer(serializers.ModelSerializer):
    bar = serializers.StringRelatedField(read_only=True)
    class Meta:
        model = Foo
        fields = ("id", "name", "bar", )

它应该只返回字符串格式的名称。

相关内容

最新更新