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)

Это правильный способ написать вложенный сериализатор?

Вернуться на верх