Hi all, Here's what I'm talking about: You have 3 models: Place, Restaurant and Cinema where Restaurant and Cinema both inherits from Place. So in the database you have some simple places, some places which really are Cinemas and some places which really are Restaurants.
Well, I think that this should be possible: >>> Place.objects.all() [<Place>, <Cinema>, <Restaurant>, <Place>] (Current implementation only returns Places objects) This seems to have been taken into account here: http://code.djangoproject.com/wiki/ModelInheritance#a2.ModelingjoinsinSQL In that wiki page it's said that this should be possible using LEFT JOINS, but that this approach could drive to a lot of overhead as the subclass count increase. But... What about allowing this kind of query-including-subclasses by requesting it in an explicit way? Something like this? >>> Place.objects.select_subclasses(Cinema,Restaurant).all() [<Place>, <Cinema>, <Restaurant>, <Place>] >>> Place.objects.select_subclasses(Cinema).all() # Here we ask to join ONLY >>> with Cinema [<Place>, <Cinema>, <Place>, <Place>] Maybe this has been previously discussed but I couldn't find any ticket or any discussion about it. So take this as a proposal if it wasn't already discussed or as a request to have some info about the previous discussion. Thanks in advance P.S. SqlObject seems to have implemented something like this http://www.sqlobject.org/Inheritance.html --~--~---------~--~----~------------~-------~--~----~ 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 django-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---