Просмотр исходного кода

Changed some querysets to iterators.

Rafał Pitoń 11 лет назад
Родитель
Сommit
94340705ec

+ 3 - 3
misago/models/checkpointmodel.py

@@ -27,9 +27,9 @@ class Checkpoint(models.Model):
 
 def rename_forum_handler(sender, **kwargs):
     Checkpoint.objects.filter(old_forum=sender).update(
-                                                  old_forum_name=sender.name,
-                                                  old_forum_slug=sender.slug,
-                                                  )
+                                                       old_forum_name=sender.name,
+                                                       old_forum_slug=sender.slug,
+                                                       )
 
 rename_forum.connect(rename_forum_handler, dispatch_uid="rename_forum_checkpoints")
 

+ 1 - 1
misago/models/forummodel.py

@@ -84,7 +84,7 @@ class ForumManager(TreeManager):
         else:
             queryset = Forum.objects.filter(pk__in=acl.known_forums).order_by('lft')
 
-        for forum in queryset:
+        for forum in queryset.iterator():
             forum.subforums = []
             forum.is_read = False
             if tracker:

+ 3 - 3
misago/models/forumreadmodel.py

@@ -9,15 +9,15 @@ class ForumRead(models.Model):
     forum = models.ForeignKey('Forum')
     updated = models.DateTimeField()
     cleared = models.DateTimeField()
-    
+
     class Meta:
         app_label = 'misago'
 
     def get_threads(self):
         from misago.models import ThreadRead
-        
+
         threads = {}
-        for thread in ThreadRead.objects.filter(user_id=self.user_id, forum_id=self.forum_id, updated__gte=(timezone.now() - timedelta(days=settings.READS_TRACKER_LENGTH))):
+        for thread in ThreadRead.objects.filter(user_id=self.user_id, forum_id=self.forum_id, updated__gte=(timezone.now() - timedelta(days=settings.READS_TRACKER_LENGTH))).iterator():
             threads[thread.thread_id] = thread
         return threads
 

+ 1 - 1
misago/models/postmodel.py

@@ -209,7 +209,7 @@ def delete_user_content_handler(sender, **kwargs):
 
     sender.post_set.all().delete()
 
-    for thread in Thread.objects.filter(id__in=threads):
+    for thread in Thread.objects.filter(id__in=threads).iterator():
         thread.sync()
         thread.save(force_update=True)
 

+ 3 - 3
misago/models/threadmodel.py

@@ -22,7 +22,7 @@ class ThreadManager(models.Manager):
 
         if user.is_authenticated() and user.join_date > cutoff:
             cutoff = user.join_date
-            for row in ForumRead.objects.filter(user=user).values('forum_id', 'cleared'):
+            for row in ForumRead.objects.filter(user=user).values('forum_id', 'cleared').iterator():
                 forum_reads[row['forum_id']] = row['cleared']
 
         for thread in queryset:
@@ -37,7 +37,7 @@ class ThreadManager(models.Manager):
             threads_dict[thread.pk] = thread
 
         if user.is_authenticated():
-            for read in ThreadRead.objects.filter(user=user).filter(thread__in=threads_dict.keys()):
+            for read in ThreadRead.objects.filter(user=user).filter(thread__in=threads_dict.keys()).iterator():
                 try:
                     threads_dict[read.thread_id].is_read = (threads_dict[read.thread_id].last <= cutoff or
                                                             threads_dict[read.thread_id].last <= read.updated or
@@ -104,7 +104,7 @@ class Thread(models.Model):
         relations on model deletion in MySQL
         """
         if self.replies_reported:
-            clear_reports = [post.pk for post in self.post_set.filter(reported=True)]
+            clear_reports = [post.pk for post in self.post_set.filter(reported=True).iterator()]
             if clear_reports:
                 Thread.objects.filter(report_for__in=clear_reports).update(report_for=None)
         return super(Thread, self).delete(*args, **kwargs)