exclude(lookupObj) {
        /**
         * allow foreign keys to be specified as model instances,
         * transform model instances to their primary keys
         */
        const normalizedLookupObj =
            typeof lookupObj === "object"
                ? mapValues(lookupObj, normalizeEntity)
                : lookupObj;
        const excludeDescriptor = {
            type: EXCLUDE,
            payload: normalizedLookupObj,
        };

        /**
         * create a new QuerySet
         * excluding all rows matching the lookupObj
         */
        return this._new(this.clauses.concat(excludeDescriptor));
    }
Returns a new {@link QuerySet} instance with entities that do not match
properties in `lookupObj`.

@param  {Object} lookupObj - the properties to unmatch objects with. Can also be a function.
                             It works the same as [Lodash reject](https://lodash.com/docs/#reject).
@return {QuerySet} a new {@link QuerySet} instance with objects that did not pass the filter.