I'm not sure this is the best way to address the failing test. While the approach is necessary for new objects (since the PK value doesn't exist until the object is saved), if this was previously done is `construct_instance()` for existing objects, then deferring it to `save()` doesn't seem ideal. Could you try adding some logic to `_post_clean()` to set this value?