私もシリアル化したいプロパティフィールドを含むモデルをシリアル化しようとしています。
models.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])
serializers.py:
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('name', 'ext_link')
関連URLにアクセスしようとすると、ext_link
プロパティでシリアライザ例外(KeyError)が発生します。
ext_link
プロパティをシリアル化するにはどうすればよいですか?
fields
上記の例でを省略した場合、すべてのMyModel
フィールドとext_link
シリアル化されたデータが含まれます。そして、これは複雑なモデルにとって本当に素晴らしいです!編集:少なくとも、これはに当てはまりますdjangorestframework==2.3.14
。