               throw "Valid not yet supported! Please consider reporting this bug with Object type"
           @_hasOneCache = {} unless @_hasOneCache
           @_hasOneCache[@cid] = {col: null, ids: []} unless @_hasOneCache[@cid]
-          @_hasOneCache[@cid].ids.push(id)
+          @_hasOneCache[@cid].ids = [id]
           @_hasOneCache[@cid].col.refresh() if @_hasOneCache[@cid].col
           @trigger("change:#{key}", @)
 

    @parent.on 'remove', (model) => @_onChildRemove(model)
    @child.on 'remove', (model) => @_onChildRemove(model)
    @child.clear = => @clear()

  clear: ->
    modelsToRemove = []


  _doProgress: (xhr) ->
    @_requests.push(xhr)
    if @_progressCounter >= 0 and @_progressElement
      @_progressElement.show()
    @_progressCounter++
    xhr.always =>
