Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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
Python 如何序列化来自同一模型的外键_Python_Django_Django Rest Framework - Fatal编程技术网

Python 如何序列化来自同一模型的外键

Python 如何序列化来自同一模型的外键,python,django,django-rest-framework,Python,Django,Django Rest Framework,我有这个模型: 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 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和RESTAPI。Django 1.10和python 3.6.3只需在Meta中添加
depth=1
,如下所示

class PlayerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Player
        fields = ('id', 'name', 'partner')
        depth = 1
class PlayerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Player
        fields = ('id', 'name', 'partner')
        depth = 1
请尝试改用选项: