'Same as :meth:`modified`, but in draft mode.'

def modified_draft(self, records):

    env = records.env
    spec = []
    for (field, path) in records._field_triggers[self]:
        if (not field.compute):
            continue
        target = env[field.model_name]
        protected = env.protected(field)
        if ((path == 'id') and (field.model_name == records._name)):
            target = (records - protected)
        elif (path and env.in_onchange):
            target = (target.browse(env.cache[field]) - protected).filtered((lambda rec: (rec if (path == 'id') else (rec._mapped_cache(path) & records))))
        else:
            target = (target.browse(env.cache[field]) - protected)
        if target:
            spec.append((field, target._ids))
    return spec
