Hi Craig,

Currently we do not support this type of operation.  You must know the exact
model type to retrieve an entity by key, id, or key name, or to construct
the key from path.

Polymorphic queries are certainly something we've had requests for, you
should star the issue in the issue tracker since this is something you are
interested in:
http://code.google.com/p/googleappengine/issues/detail?id=475

-Marzia

On Sat, Nov 8, 2008 at 12:32 PM, Craig <[EMAIL PROTECTED]> wrote:

>
> I have a simple inheritance hierarchy of classes of objects that I
> have stored in my datastore. I wish to fetch these objects from the
> datastore using get_by_id(), and this works fine if I know the exact
> class of the object that I am about to fetch. However, I would like to
> be able to fetch using a parent class, and be able to get object of
> any subclass. Unfortunately, the datastore does not seem to know about
> the class inheritance of these objects.
>
> For example:
>
>    class Entry(db.Model):
>        title = db.StringProperty(required=True)
>
>    class BinaryEntry(Entry):
>        content = db.BlobProperty(required=True)
>
>    class TextEntry(Entry):
>        content = db.TextProperty(required=True)
>
> If I have a TextEntry in the datastore with an id of 1, this works:
>
>    entry = TextEntry.get_by_id(1)
>
> but this does not:
>
>    entry = Entry.get_by_id(1)
>
> Is there any simple way, without using the Expando model, that I can
> do this? Note that I do not have the Key of the object I wish to
> fetch, only the ID, and since I would need the Kind in order to create
> the Key from the ID with db.Key.from_path(), I can't do a generic
> db.get(key) either.
>
> Thanks for any help,
>
> Craig
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to