DRF Вложенные сериализаторы
Я немного запутался в написании вложенного сериализатора в django rest framework. Если у меня есть буксируемые модели Account
и UserProfile
. В которой UserProfile
является ForeignKey для Account
и при написании сериализатора я должен вызвать UserProfile Serializer
в Account's Serializer
или вызвать Account Serilaizer
в UserProfile Serializer
.
#Models.py
Class Account (AbstractBaseUser):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField(max_length=100, unique=True
Class USerProfile(models.Model):
user = models.ForeignKey(Account, on_delete=models.CASCADE)
address_line_1 = models.CharField(max_length=100)
address_line_2 = models.CharField(max_length=100)
phone = models.IntegerField(null=True)
При написании сериализатора я запутался. Поэтому, пожалуйста, объясните мне подробно, как написать вложенный сериализатор.
#Serializers.py
class AccountSerializer(ModelSerializer):
class Meta:
model = Account
fields = ["first_name", "last_name", "email", "password"]
extra_kwargs = {
"password": {"write_only": True},
}
class UserProfileSerializer(ModelSerializer):
user = AccountSerializer()
class Meta:
model = UserProfile
fields = "__all__"
def create(self, validated_data):
#Didn't write the logics here as of now.
return super().create(validated_data)
Это правильный способ написать вложенный сериализатор?