我有这个型号:
class Player(models.Model):
name = models.CharField(max_length=100)
partner = models.ForeignKey('self', blank=True, null=True)
在我的序列化器中,我有这个:
class PlayerSerializer(serializers.ModelSerializer):
partner = PlayerSerializer()
class Meta:
model = Player
fields = ('id', 'name', 'partner')
但当然这会返回错误,指出 PlayerSerializer 未定义。
如何序列化外键。
我正在使用Django和REST API。 Django 1.10和python 3.6.3
答案 0 :(得分:2)
请尝试使用depth
选项:
class PlayerSerializer(serializers.ModelSerializer):
class Meta:
model = Player
fields = ('id', 'name', 'partner')
depth = 1
答案 1 :(得分:1)
只需在Meta中添加depth = 1
,如下所示
class PlayerSerializer(serializers.ModelSerializer):
class Meta:
model = Player
fields = ('id', 'name', 'partner')
depth = 1