Dear Django community,
I have a data model that looks like the following:
class Submission(models.Model):
...
class Assessment(models.Model):
submission = models.ForeignKey(
Submission, on_delete=models.CASCADE, related_name='assessments')
time_stamp = models.DateTimeField()
And I would like to do something simple such as computing a list of pairs
of submissions and their most recent assessments:
qs = Submission.objects.prefetch_related('assessments')
xs = [(s, s.assessments.latest('time_stamp')) for s in qs.all()]
This seems to be inefficient because the assessments table seems to be
queried for each submission.
I've read about prefetch_related and tried to use it as above but it
doesn't seem to have any effect.
I suppose this is because I try to use 'latest'?
Is prefetch_related applicable in this case at all or do I need to resort
to a different technique like a raw SQL query?
Thanks in advance!
Simon
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/e38b499f-d54b-4f6a-874b-a95af0b778b0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.