Python 重写';创建';Django REST框架中的方法。设置多个字段

Python 重写';创建';Django REST框架中的方法。设置多个字段,python,django,django-rest-framework,Python,Django,Django Rest Framework,全部。 我在ModelSerializer中覆盖的“create”方法存在一些问题。顺便说一下,我的模型: class User(AbstractEmailUser): target_languages = models.ManyToManyField(Language, default='en', related_name="target_language") biography = models.TextField(null=True, blank=True) loc

全部。 我在ModelSerializer中覆盖的“create”方法存在一些问题。顺便说一下,我的模型:

class User(AbstractEmailUser):
    target_languages = models.ManyToManyField(Language, default='en', related_name="target_language")
    biography = models.TextField(null=True, blank=True)
    location = models.CharField(max_length=2, null=True)
    objects = UserManager()
和我的序列化程序:

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        exclude = ['password', 'groups', 'user_permissions', 'is_superuser',
               'is_staff']
        read_only_fields = ['date_joined', 'last_login']

    def create(self, validated_data):
        target_languages = validated_data.pop('target_languages')
        user = User.objects.create(**validated_data)
        for target_language in target_languages:
            user.target_languages.add(get_object_or_404(Language, iso_639_1=target_language))
        user.save()
        return user
主要问题是,当我试图使用target_languages字段(如
target_languages)发布到这个序列化程序时:[“en”,“es”]
它没有设置manytomy字段,它只是空的


我哪里出错了?

您发送的JSON看起来如何?GET请求的结果如何?您发送的JSON看起来如何?GET请求的结果如何?