trying to prefetch message authors

This commit is contained in:
Élie Bouttier 2017-08-12 14:30:23 +02:00
parent 306c9a9b2c
commit cf9708f731
1 changed files with 10 additions and 0 deletions

View File

@ -32,6 +32,14 @@ class MessageThread(models.Model):
token = models.CharField(max_length=64, default=generate_message_token, unique=True)
class MessageManager(models.Manager):
def get_queyset(self):
qs = super().get_queryset()
# Does not work so well as prefetch_related is limited to one content type for generic foreign keys
qs = qs.prefetch_related('author')
return qs
class Message(models.Model):
created = models.DateTimeField(auto_now_add=True)
thread = models.ForeignKey(MessageThread)
@ -42,6 +50,8 @@ class Message(models.Model):
content = models.TextField(blank=True)
token = models.CharField(max_length=64, default=generate_message_token, unique=True)
objects = MessageManager()
class Meta:
ordering = ['created']