Python 2.7 has reached end of support
and will bedeprecatedon January 31, 2026. After deprecation, you won't be able to deploy Python 2.7
applications, even if your organization previously used an organization policy to
re-enable deployments of legacy runtimes. Your existing Python
2.7 applications will continue to run and receive traffic after theirdeprecation date. We recommend that
youmigrate to the latest supported version of Python.
Stay organized with collectionsSave and categorize content based on your preferences.
In addition to theDB datastore exceptions, the NDB datastore provides the following exception classes:
exceptionComputedPropertyError()
Raised when attempting to set a value to or delete a computed property.
exceptionInvalidPropertyError()
Raised when a property is not applicable to a given use. For example, a property must exist and be indexed to be used in a query's projection or group by clause.
exceptionReadonlyPropertyError()
Raised when attempting to set a property value that is read-only.
exceptionUnprojectedPropertyError()
Raised when getting a property value that's not in the projection.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis page explains the usage of legacy bundled services and APIs, which are exclusive to first-generation runtimes in the App Engine standard environment.\u003c/p\u003e\n"],["\u003cp\u003eA migration guide is available for those updating to the App Engine Python 3 runtime, offering options for migrating legacy bundled services.\u003c/p\u003e\n"],["\u003cp\u003eThe NDB datastore offers several unique exception classes, including \u003ccode\u003eComputedPropertyError\u003c/code\u003e, \u003ccode\u003eInvalidPropertyError\u003c/code\u003e, \u003ccode\u003eReadonlyPropertyError\u003c/code\u003e, and \u003ccode\u003eUnprojectedPropertyError\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThese exceptions deal with scenarios like attempting to set or delete a computed property, improper usage of a property, setting a read-only property, or accessing an unprojected property.\u003c/p\u003e\n"]]],[],null,["# Exceptions\n\n| This page describes how to use the legacy bundled services and APIs. This API can only run in first-generation runtimes in the App Engine standard environment. If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-differences) to learn about your migration options for legacy bundled services.\n\nIn addition to the [DB datastore exceptions](/appengine/docs/legacy/standard/python/datastore/exceptions), the NDB datastore provides the following exception classes:\n\nexception ComputedPropertyError()\n: Raised when attempting to set a value to or delete a computed property.\n\nexception InvalidPropertyError()\n: Raised when a property is not applicable to a given use. For example, a property must exist and be indexed to be used in a query's projection or group by clause.\n\nexception ReadonlyPropertyError()\n: Raised when attempting to set a property value that is read-only.\n\nexception UnprojectedPropertyError()\n: Raised when getting a property value that's not in the projection."]]