Python ';属性错误';当覆盖';相关字段';连载
我正在使用一个Django项目来实现Rest框架 我有这个型号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_
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。谢谢!我想知道为什么我在网上找不到关于它的任何东西,可能是因为它太明显了。