upsert uses the manager passed to it rather than objects