我正在嘗試創建一個實例覆蓋create方法并ForeignKey在數據中傳遞該實例,但該字段未包含在validated_data傳遞給create方法中。我怎么能把它傳遞給create?我有這個模型。class UserProfile(models.Model): name = models.CharField(verbose_name='Name', max_length=50) email = models.EmailField(verbose_name='Email') address = models.TextField(verbose_name='Address', null=True, blank=True) user = models.OneToOneField(User, verbose_name='User', on_delete=models.CASCADE)這是我的序列化程序。class UserProfileSerializer(ModelSerializer): class Meta: model = UserProfile fields = '__all__' depth = 2 def create(self, validated_data): print(validated_data) return UserProfile.objects.create(**validated_data)這是我的看法。class UserRegisterView(APIView): def post(self, request, format=None, *args, **kwargs): name = request.data.get('name') email = request.data.get('email') password = request.data.get('password') address = request.data.get('address') if name and email and password: user = User.objects.create_user(username=email, password=password, email=email) request.data['user'] = user serializer = UserProfileSerializer(data=request.data) if serializer.is_valid(): user_profile = serializer.save()即使我將User對象傳遞給序列化程序,它也不包含在validated_data. 官方文檔建議為User模型創建另一個序列化程序并使用它,但是有沒有其他方法而不創建該序列化程序?
Django-REST-Framework:ForeignKey 實例未傳遞給
慕的地8271018
2021-06-09 16:13:57