Example #1
0
    def update(self, instance, validated_data):
        for f in self.fields:
            if f != 'social_handles' and f != 'password':
                value = validated_data.get(f, getattr(instance, f))
                setattr(instance, f, value)

        instance.save()
        instance.social_handles.all().delete()

        if 'social_handles' in validated_data:
            for handle in validated_data['social_handles']:
                h = SocialHandle(user=instance,
                                 username=handle['username'],
                                 site=handle['site'])
                h.save()

        return instance
Example #2
0
    def create(self, validated_data):
        kwargs = {}
        for f in self.fields:
            if f != 'social_handles' and f != 'password':
                value = validated_data.get(f, None)
                if value:
                    kwargs[f] = value

        instance = User(**kwargs)
        instance.save()

        if 'social_handles' in validated_data:
            for handle in validated_data['social_handles']:
                h = SocialHandle(user=instance,
                                 username=handle['username'],
                                 site=handle['site'])
                h.save()

        return instance