Hi, That field replication is effectively what i have done in my barter application. However i think i am correct in saying that i should only do this if i require model1field to be used in a filter. If i need it for output i could go
q.Model2().all firstrecord = q[0] print firstrecord.model1.model1field and it works. I only got to thinking about the apparent contradiction here when i was preparing the presentation. tks, PJ On Mon, Apr 6, 2009 at 11:53 AM, Nick Johnson <[email protected]> wrote: > Because it's not possible. Doing so would require a join, which isn't > supported in the App Engine datastore. You need to denormalize your model, > and bring model1field in as a property of Model2. > > -Nick Johnson > > > On Mon, Apr 6, 2009 at 11:42 AM, PJ Fitzpatrick < > [email protected]> wrote: > >> Hi, >> Ahead of my talk on wednesday there is one thing i cannot seem to >> understand about queries in App Engine. Has anyone got an answer to the >> following. >> >> >> I am attempting to query as follows; >> >> class Model1.(db.Model) >> model1field = db.StringProperty() >> >> class Model2(db.Model) >> model1 = db.ReferenceProperty(Model1) >> >> q= Model2.all() >> q.filter("model1.model1field =", somestring) >> >> Why does this not work? >> >> tks, >> PJ >> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Python Ireland" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.ie/group/pythonireland?hl=en -~----------~----~----~----~------~----~------~--~---
