_setupRelationship(attr, value) {
    const isFk = this.associationIdKeys.has(attr) || this.fks.includes(attr);
    const isAssociation = this.associationKeys.has(attr);

    if (isFk) {
      if (value !== undefined && value !== null) {
        this._validateForeignKeyExistsInDatabase(attr, value);
      }
      this.attrs[attr] = value;
    }
    if (isAssociation) {
      this[attr] = value;
    }
  }
Foreign keys get set on attrs directly (to avoid potential recursion), but
    model references use the setter.

    We validate foreign keys during instantiation.

    @method _setupRelationship
    @param attr
    @param value
    @private
    @hide