uses get_or_create
authorymh <ymh.work@gmail.com>
Tue, 14 Jun 2011 14:38:37 +0200
changeset 30 c21f88ad164d
parent 29 d12f11960bb6
child 31 142d0440c9aa
uses get_or_create
web/hdabo/management/commands/importcsv.py
web/hdabo/views.py
--- a/web/hdabo/management/commands/importcsv.py	Tue Jun 14 14:17:12 2011 +0200
+++ b/web/hdabo/management/commands/importcsv.py	Tue Jun 14 14:38:37 2011 +0200
@@ -184,12 +184,7 @@
                 if len(tag) == 0:
                     continue
                 tag_label = normalize_tag(tag)
-                tag_objs = Tag.objects.filter(label__iexact=tag_label)
-                if len(tag_objs) == 0:
-                    tag_obj = Tag(label=tag_label, original_label=tag)
-                    tag_obj.save()
-                else:
-                    tag_obj = tag_objs[0]
+                tag_obj, created = Tag.objects.get_or_create(label__iexact=tag_label, defaults={'label':tag_label, 'original_label':tag}) #@UnusedVariable
                 tagged_ds = TaggedSheet(datasheet=datasheet, tag=tag_obj, original_order=i + 1, order=i + 1)
                 tagged_ds.save()
         
--- a/web/hdabo/views.py	Tue Jun 14 14:17:12 2011 +0200
+++ b/web/hdabo/views.py	Tue Jun 14 14:38:37 2011 +0200
@@ -211,14 +211,8 @@
     tag_label_normalized = normalize_tag(tag_label)
     # We get the wikipedia references for the tag_label
     # We get or create the tag object
-    tag_objs = Tag.objects.filter(label__iexact=tag_label_normalized)
-    if len(tag_objs) == 0:
-        tag = Tag(label=tag_label_normalized, original_label=tag_label)
-        tag.save()
-        created=True
-    else:
-        tag = tag_objs[0]
-        created=False
+    
+    tag, created = Tag.objects.get_or_create(label__iexact=tag_label_normalized, defaults={'label':tag_label_normalized, 'original_label':tag_label})
 
     site = wiki.Wiki(settings.WIKIPEDIA_API_URL) #@UndefinedVariable
     new_label, status, url, pageid, response = query_wikipedia_title(site, tag_label_normalized) #@UnusedVariable