bug fix: BaseModel->save() not using get_primary_key() to resolve PK field name