SlugRelatedField对Django Rest框架序列化没有影响
全部, 我正在尝试替换相关模型中带有字段的标准foreignkey字段序列化 下面是一些代码: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
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”部分完成的,而不是在类本身上。