I think your solution sounds the most elegant Tim... However, I am a little confused. So I would retrieve the desired BaseObject and then how do I retrieve all the SubObjects that hold a reference to it? Can you explain this bit: .subobject_set.all().filter (somefilter)
Thanks! On Jun 6, 1:26 am, Tim Hoffman <[email protected]> wrote: > Even easier would be to have every subobject hold a reference to the > parent BaseObject > > Then given any BaseObject you can > > mybaseobject.subobject_set.all().filter(somefilter) > > T > > On Jun 6, 7:27 am, djidjadji <[email protected]> wrote: > > > You can, do two calls to the datastore > > > # first get the required BaseObject > > base = BaseObject.all().filter(.......).get() > > if not base: return > > # then get the SubObjects that link to this BaseObject with the right fields > > subobjs = SubObject.all.filter('baseref =', > > base.reffield).filter('somefield >', subSelectValue).fetch(1000) > > if not subobjs: return > > > 2009/6/5 mscwd01 <[email protected]>: > > > > So the relational model I mentioned would be the better option? > > > > Its a pity there isnt a feature to select desired baseObjects and then > > > search within SubObjects linked to that object within a DataStore > > > call... > > > > On Jun 5, 9:50 pm, djidjadji <[email protected]> wrote: > > >> One huge object would be very inefficient. You have to retrieve the > > >> whole lot every time you get() a BaseObject. You are limited to a > > >> total size of 1 Mbyte per object. > > > >> Much cleaner is the approach with the two object Models. Now you can > > >> have an unlimited number of SubObjects and let the index do most of > > >> the work of fetching only the SubObjects that are important. > > > >> 2009/6/5 mscwd01 <[email protected]>: > > > >> > Hi, > > > >> > I have a question regarding the best method of storing a complex > > >> > object which may grow to be very large in size. > > > >> > I have an object 'BaseObject' which has a field of type > > >> > List<SubObject>. I wish to add many SubObject's to BaseObjects, > > >> > perhaps millions. When querying a SubObject I will first retrieve the > > >> > BaseObject and then perform a query on its list of SubObjects to find > > >> > the objects I need. > > > >> > Now, is it a good idea to store objects in this way? I.e. having a > > >> > BaseObject which comprises an enormous list of SubObjects? > > > >> > Another method of doing this would be to take the relational database > > >> > approach and have a BaseObject and SubObjects table where SubObjects > > >> > reference BaseObjects via an ID. However, I would really like to > > >> > maintain an object approach. > > > >> > What are your views on this? Any feedback would be greatly > > >> > appreciated. > > > >> > Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" 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.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
