В структуре Django REST, что связано с созданием представления представления сериализатора для чтения и записи? Документы относятся к "плоскому представлению" (конец раздела http://django-rest-framework.org/api-guide/serializers.html#dealing-with-nested-objects), но не предлагают примеров или чего-либо кроме предложения использовать a RelatedField
.
Например, как обеспечить плоское представление отношений User
и UserProfile
ниже?
# Model
class UserProfile(models.Model):
user = models.OneToOneField(User)
favourite_number = models.IntegerField()
# Serializer
class UserProfileSerializer(serializers.ModelSerializer):
email = serialisers.EmailField(source='user.email')
class Meta:
model = UserProfile
fields = ['id', 'favourite_number', 'email',]
Приведенный выше UserProfileSerializer
не позволяет записывать в поле email
, но я надеюсь, что он достаточно хорошо выражает намерение. Итак, как создать "плоский" сериализатор чтения и записи, чтобы разрешить записываемый атрибут email
на UserProfileSerializer
? Возможно ли это при подклассификации ModelSerializer?
Спасибо.