I'm using select_related() and when I debug (eclipse and pydev) I can see that the ForeignKey references are cached. But somehow I still hit the database (unnecessarily in my opinion) when I render in the template. All the ForeignKeys that are referenced in this query are set to null=False
What could be the problem? Here's the models.py class TestCaseSuite(models.Model): id = models.IntegerField(primary_key=True) hashid = models.CharField(max_length=390, blank=True) name = models.ForeignKey(Strings, db_column='name', related_name='tstcName') url = models.ForeignKey(Text, db_column='url', related_name='url') startsat = models.DateTimeField() duration = models.IntegerField() result = models.IntegerField() applicationname = models.ForeignKey(Strings, null=False, db_column='applicationname', related_name='applicationname', db_index=True) hardwareversion = models.ForeignKey(Strings, null=False, db_column='hardwareversion', related_name='hardwareversion', db_index=True) executionenvironment = models.ForeignKey(Strings, null=False, db_column='executionenvironment', related_name='executionenvironment', db_index=True) releasetype = models.ForeignKey(Strings, null=False, db_column='releasetype', related_name='releasetype', db_index=True) hostname = models.ForeignKey(Strings, null=False, db_column='hostname', related_name='hostname', db_index=True) releasenumber = models.ForeignKey(Strings, null=False, db_column='releasenumber', related_name='releasenumber', db_index=True) tsreference = models.IntegerField(null=True, blank=True) textid = models.ForeignKey(Text, null=True, db_column='textid', related_name='tstcTextid', db_index=True, blank=True) objects = SQLManager(); def getTSTCReference(self): return TestCaseSuite.objects.get(id__exact=self.tsreference) class Meta: db_table = u'test_case_suite' and the call in views.py: failed = TestCaseSuite.objects.filter(applicationname__string__exact = projectname, releasenumber__string__exact = release, hardwareversion__string__exact = hwversion, releasetype__string__exact = reltype, result__exact = FAILED, tsreference__isnull=False).select_related() testcases = TestCaseSuite.objects.filter(applicationname__string__exact = projectname, releasenumber__string__exact = release, hardwareversion__string__exact = hwversion, releasetype__string__exact = reltype, tsreference__isnull=False).select_related() Stephane --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---