Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SlugRelatedField对Django Rest框架序列化没有影响_Django_Serialization_Django Rest Framework - Fatal编程技术网

SlugRelatedField对Django Rest框架序列化没有影响

SlugRelatedField对Django Rest框架序列化没有影响,django,serialization,django-rest-framework,Django,Serialization,Django Rest Framework,全部, 我正在尝试替换相关模型中带有字段的标准foreignkey字段序列化 下面是一些代码: class Foo(models.Model): name = models.CharField() bar = models.ForeignKey("Bar") class Bar(models.Model): name = models.CharField() class FooSerializer(serializers.ModelSerializer): class Met

全部,

我正在尝试替换相关模型中带有字段的标准foreignkey字段序列化

下面是一些代码:

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", )

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

D'oh!这个建议确实奏效了。然而,我看到我原来的问题只是一个缩进问题;重新定义“bar”字段是在类定义的“Meta”部分完成的,而不是在类本身上。