DRF:AttributeError:“BlogSerializers”对象没有“get\u uri”属性

2024-06-16 11:42:07 发布

您现在位置:Python中文网/ 问答频道 /正文

谁能解释一下这个问题。你知道吗

你知道吗mobel.py公司你知道吗

class Blog(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    title = models.CharField(max_length=120, null=True, blank=True)
    content = models.TextField(null=True, blank=True)
    timestamp = models.DateTimeField(auto_now_add=True)

    def get_api_url(self):
        return api_reverse("post-rud", kwargs={"pk": self.pk})

我的序列化程序文件是序列化程序.py你知道吗

class BlogSerializers(serializers.ModelSerializer):
    uri = serializers.SerializerMethodField(read_only=True)

    class Meta:
        model = Blog
        fields = [
            'uri',
            'pk',
            'user',
            'title',
            'content',
            'timestamp',
        ]
        read_only_fields = ['pk', 'user']

        def get_uri(self, obj):
            return obj.get_api_url()

显示错误

AttributeError at /api/blog/post/list/ 'BlogSerializers' object has no attribute 'get_uri'

如果我在这条线下使用,问题就解决了。但我想了解这个错误。你知道吗

class BlogSerializers(serializers.ModelSerializer):
    # uri = serializers.CharField(read_only=True, source='get_api_url')

Tags: pyselfapitrueurlonlyreadget