Currently _object_key() only supports shard keys that are Document-level attributes, but MongoDB supports shard keys that are in embedded documents.
There does not seem to be a way using meta's shard_key to define these embedded shard keys in such a way that allows updates and saves to work again.
This seems to be an issue in 0.7, 0.8, dev, and master branches. I am currently having this issue with the 0.8.3 release.