]> git.openstreetmap.org Git - osqa.git/commitdiff
revert previous commit
authorjordan <jordan@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Tue, 10 Apr 2012 21:23:11 +0000 (21:23 +0000)
committerjordan <jordan@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Tue, 10 Apr 2012 21:23:11 +0000 (21:23 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@1249 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/models/node.py
forum/models/tag.py

index e8d6334751cab1a31498c76eb377b0d528c3d89b..5b6cdb512a0554edac61d303594e15a11f65f494 100644 (file)
@@ -1,7 +1,6 @@
 # -*- coding: utf-8 -*-
 
 from base import *
-import logging
 import re
 from tag import Tag
 
@@ -258,7 +257,7 @@ class Node(BaseModel, NodeContent):
     @classmethod
     def _generate_cache_key(cls, key, group="node"):
         return super(Node, cls)._generate_cache_key(key, group)
-        
+
     @classmethod
     def get_type(cls):
         return cls.__name__.lower()
@@ -450,13 +449,15 @@ class Node(BaseModel, NodeContent):
 
                 if not self.nis.deleted:
                     tag.add_to_usage_count(1)
+                    tag.save()
 
             if not self.nis.deleted:
                 for name in tag_changes['removed']:
                     try:
                         tag = Tag.objects.get(name=name)
                         tag.add_to_usage_count(-1)
-                    except Tag.DoesNotExist:
+                        tag.save()
+                    except:
                         pass
 
             return True
@@ -470,13 +471,16 @@ class Node(BaseModel, NodeContent):
         if action:
             for tag in self.tags.all():
                 tag.add_to_usage_count(-1)
+                tag.save()
         else:
             for tag in Tag.objects.filter(name__in=self.tagname_list()):
                 tag.add_to_usage_count(1)
+                tag.save()
 
     def delete(self, *args, **kwargs):
         for tag in self.tags.all():
             tag.add_to_usage_count(-1)
+            tag.save()
 
         self.active_revision = None
         self.save()
index 791636fa0a9810f2dee4c935d8bc5304d64d9bf0..73b1e30a2a92f3dcee60b85671cfdb91f7c1e3ac 100644 (file)
@@ -32,12 +32,10 @@ class Tag(BaseModel):
         return force_unicode(self.name)
 
     def add_to_usage_count(self, value):
-        if int(self.used_count + value) < 0:
+        if self.used_count + value < 0:
             self.used_count = 0
         else:
-            self.used_count += value
-
-        self.save()
+            self.used_count = models.F('used_count') + value
 
     def cache_key(self):
         return self._generate_cache_key(Tag.safe_cache_name(self.name))