Hi all, I use in my web application a recursive model like that : ######################################## class Category(models.Model): title = models.CharField(verbose_name=_("title"), unique=True, db_index=True, max_length=255) slug = models.SlugField(verbose_name=_("slug"), db_index=True, unique=True) description = models.TextField(verbose_name=_("description"), blank=True) parent = models.ForeignKey("self", verbose_name=_("parent"), null=True, blank=True)
def __unicode__(self): if self.parent: return "%s -> %s" % (self.parent, self.title) else: return self.title def html(self): if self.parent: return """%s <img src="/media/img/public/arrow_right.png" alt="->"/> %s""" % (self.parent.html(), self.title) else: return self.title class Meta: verbose_name_plural = _("Categories") ######################################## The problem is when i have a category with a lot of parents categories, like that : Computing -> Programming -> Python -> Django Django does 4 SQL Queries to get that, one per parent category, the queries are like : ######################################## SELECT "blog_category"."id", "blog_category"."title", "blog_category"."slug", "blog_category"."description", "blog_category"."parent_id" FROM "blog_category" WHERE "blog_category"."id" = 9 ######################################## How can i optimize that do to that with a kind of select_related ? can i use it in that situation ? or something else ? Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---