Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.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

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
Python ';属性错误';当覆盖';相关字段';连载_Python_Django_Rest - Fatal编程技术网

Python ';属性错误';当覆盖';相关字段';连载

Python ';属性错误';当覆盖';相关字段';连载,python,django,rest,Python,Django,Rest,我正在使用一个Django项目来实现Rest框架 我有这个型号 class Portfolio(models.Model): ticker = models.CharField(max_length=10, default='???') name = models.CharField(max_length=25) amount = models.FloatField() owner = models.ForeignKey('auth.User', related_

我正在使用一个Django项目来实现Rest框架

我有这个型号

class Portfolio(models.Model):
    ticker = models.CharField(max_length=10, default='???')
    name = models.CharField(max_length=25)
    amount = models.FloatField()
    owner = models.ForeignKey('auth.User', related_name='portfolio', on_delete=models.CASCADE)

    def __str__(self):
        return self.name
“所有者”外键上的注释

在我的
serializers.py中,我有这个

class MyRelatedField(serializers.RelatedField):
    def to_representation(self, obj):
    return 'Test'

class UserSerializer(serializers.ModelSerializer):
    portfolio = serializers.MyRelatedField(many=True)

    class Meta:
        model = User
        fields = ('url', 'id', 'username', 'portfolio')
当我在上阅读时,如果我想要自定义表示,我应该重写
related字段(我这样做了)。然而,当我试图运行时,我得到了这个错误

AttributeError:模块“rest\u framework.serializers”没有属性“MyRelatedField”

无论我在
MyRelatedField
中返回什么,都会发生相同的错误

我的问题是如何调试并理想地修复此错误。
谢谢。

由于MyRelatedField和UserSerializer位于同一个模块中,您需要将
portfolio=serializers.MyRelatedField(many=True)
替换为
portfolio=MyRelatedField(many=True)

我试图用它实现的是,我试图在公文包上有一个更人性化的表现。首先,我只是超链接,但这将只显示URL,我希望我的字段显示名称和URL。谢谢!我想知道为什么我在网上找不到关于它的任何东西,可能是因为它太明显了。