Take a look to : http://docs.djangoproject.com/en/1.2/ref/models/querysets/#select-related and http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#regroup
Stefano 2011/2/27 galago <prog...@gmail.com>: > Models: > class Technology(models.Model): > name = models.CharField(max_length=100, unique=True) > slug = models.SlugField(max_length=100, unique=True) > class Site(models.Model): > name = models.CharField(max_length=100, unique=True) > slug = models.SlugField(max_length=100, unique=True) > technology = models.ManyToManyField(Technology, blank=True, null=True) > Views: > def portfolio(request, page=1): > sites_list = > Site.objects.select_related('technology').only('technology__name', 'name', > 'slug',) > return render_to_response('portfolio.html', {'sites':sites_list,}, > context_instance=RequestContext(request)) > Template: > {% for site in sites %} > <div> > {{ site.name }}, > {% for tech in site.technology.all %} > {{ tech.name }} > {% endfor %} > </div> > {% endfor %} > But in that example each site makes 1 additional query to get technology > list. Is there any way to make it in 1 query somehow? > > -- > 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. > -- 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.