Django Rest Framework allauth在注册期间将PrimaryKeyRelated字段保存给用户

Django Rest Framework allauth在注册期间将PrimaryKeyRelated字段保存给用户,django,django-rest-framework,django-allauth,django-rest-auth,Django,Django Rest Framework,Django Allauth,Django Rest Auth,我已经使用dj rest auth和allauth设置了一个CustomRegisterSerializer。我似乎无法挽救无数的关系。请有人告诉我哪里出了问题 序列化程序.py class CustomRegisterSerializer(RegisterSerializer): dbs_number = serializers.CharField(max_length=13, required=True) hospitals = serializers.PrimaryKeyR

我已经使用dj rest auth和allauth设置了一个CustomRegisterSerializer。我似乎无法挽救无数的关系。请有人告诉我哪里出了问题

序列化程序.py

class CustomRegisterSerializer(RegisterSerializer):
    dbs_number = serializers.CharField(max_length=13, required=True)
    hospitals = serializers.PrimaryKeyRelatedField(many=True, queryset=HospitalListModel.objects.all())
    area_to_work = serializers.PrimaryKeyRelatedField(many=True, queryset=AreaToWorkModel.objects.all())

    def get_cleaned_date(self):
        data_dict = super().get_cleaned_data()
        data_dict['dbs_number'] = self.validated_data.get('dbs_number', '')
        data_dict['hospitals'] = self.validated_data.get('hospitals', '')
        data_dict['area_to_work'] = self.validated_data.get('area_to_work', '')
        print('serializer :' + str(data_dict))
        return data_dict 
适配器.py

class CustomAccountAdapter(DefaultAccountAdapter):
    def save_user(self, request, user, form, commit=False):
        user = super().save_user(request, user, form, commit)
        data = form.data
        user.dbs_number = data['dbs_number']
        user.save()
        user.hospitals.add(*data['hospitals'])
        user.area_to_work.set(*data['area_to_work'])
        user.save()
        return user