temporarily remove hstore virtual fields otherwise DRF considers them many2many

def update(self, instance, validated_data):
        """
        temporarily remove hstore virtual fields otherwise DRF considers them many2many
        """
        model = self.Meta.model
        meta = self.Meta.model._meta
        original_virtual_fields = list(meta.virtual_fields)  # copy

        if hasattr(model, '_hstore_virtual_fields'):
            # remove hstore virtual fields from meta
            for field in model._hstore_virtual_fields.values():
                meta.virtual_fields.remove(field)

        instance = super(HStoreSerializer, self).update(instance, validated_data)

        if hasattr(model, '_hstore_virtual_fields'):
            # restore original virtual fields
            meta.virtual_fields = original_virtual_fields

        return instance