Я намагаюся серіалізувати модель, що містить поле властивості, яке я також хочу серіалізувати.
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-адреси, я отримую виняток серіалізатора (KeyError) у ext_link
властивості.
Як я можу серіалізувати ext_link
власність?
fields
, у наведеному вище прикладі ви отримаєте всіMyModel
поля плюсext_link
у серіалізованих даних. І це дійсно приголомшливо для складних моделей! EDIT : Принаймні, це справедливо дляdjangorestframework==2.3.14
.