On May 15, 6:15 pm, "Ziling Zhao" <[EMAIL PROTECTED]> wrote: > So, are you suggesting that on fixture loading that parents should *not* be > saved? > > Would this possibly allow you to load fixtures that don't fit in your model? > E.g. children without parents?
No, what I'm suggesting is that the parent table is being saved, independently of the child tables. Later, the children are saved. I am suggesting that on load, after the parent tables are loaded, the children be loaded and only the child tables be touched. BTW, in your item below, parent_ptr is the primary key of the child, foreign keyed to the parent, implicitly created by using multitable inheritance. Thus MTI is just a special case of one to one where the one to one field is also the pk. On May 15, 6:15 pm, "Ziling Zhao" <[EMAIL PROTECTED]> wrote: > So, are you suggesting that on fixture loading that parents should *not* be > saved? > > Would this possibly allow you to load fixtures that don't fit in your model? > E.g. children without parents? > > > > On Sat, May 10, 2008 at 10:24 AM, AmanKow <[EMAIL PROTECTED]> wrote: > > > Above, I said: > > > I notice that child instances have an undocumented save_base method, > > > which I assume is called from the child's save. I wonder if it might > > > not be useful to have some way (r.save(exclude_parent=True) or some > > > such thing) in order to save the child record only. > > > But I didn't explain why I thought something like this might be useful > > for some types of processing and applicable to the loaddata issue. > > > For hooking up children to existing parents it would be simpler and > > more efficient: > > >>> p = Place(name="Lee's Tavern", address="Staten Island") > > >>> p.save() > > >>> r = Restaurant(serves_pizza=True, serves_hot_dogs=False, pk=p.pk) > > >>> r.save(child_only=True) > > > You'd have to be a bit cautious here, as r will still have the default > > values for the parent fields. If you are going to continue to use r, > > and access the parent fields in any way, the following would be > > appropriate after the save: > > >>> r = Restaurant.objects.get(pk=r.pk) > > > If indeed there is some sort of transactional issue in loaddata, > > always specifying that only the child be saved (it wouldn't hurt to > > specify it everywhere loaddata saves as it would be ignored where it > > wasn't pertinent) might just be the fix. > > > Wayne > > -- > ~Ziling Zhao --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---