gpt4 book ai didi

django-models - 如何使用 ModelSerializer 序列化 Model @property?

转载 作者:行者123 更新时间:2023-12-03 05:13:29 25 4
gpt4 key购买 nike

我正在尝试序列化包含我也想序列化的属性字段的模型。

模型.py:

class MyModel(models.Model):
name = models.CharField(max_length=100)
slug = models.AutoSlugField(populate_from='name')

@property
def ext_link(self):
return "/".join([settings.EXT_BASE_URL, self.slug])

序列化器.py:

class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('name', 'ext_link')

当尝试访问相关 URL 时,我在 ext_link 属性上遇到序列化程序异常 (KeyError)。

如何序列化 ext_link 属性?

最佳答案

因为它不是模型字段,所以需要显式添加到序列化器类

class MyModelSerializer(serializers.ModelSerializer):
ext_link = serializers.Field()

class Meta:
model = MyModel
fields = ('name', 'ext_link')

关于django-models - 如何使用 ModelSerializer 序列化 Model @property?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com