multi answer mode for choice questions
[edumed.git] / wtem / management / commands / wtem_generate_keys.py
index 1496c7b..48cd8b2 100644 (file)
@@ -10,15 +10,12 @@ class Command(BaseCommand):
         new = 0
         skipped = 0
 
-        for confirmation in Confirmation.objects.all():
-            if not Submission.objects.filter(email=confirmation.email).exists():
-                args = {}
-                for attr in ['first_name', 'last_name', 'email', 'contact']:
-                    args[attr] = getattr(confirmation, attr)
-                Submission.create(**args)
-                new += 1
-            else:
-                self.stdout.write('skipping ' + confirmation.email + ': already exists.')
-                skipped += 1
+        emails = list(Submission.objects.values_list('email', flat=True))
+        for confirmation in Confirmation.objects.exclude(email__in=emails):
+            args = {}
+            for attr in ['first_name', 'last_name', 'email', 'contact']:
+                args[attr] = getattr(confirmation, attr)
+            Submission.create(**args)
+            new += 1
 
         self.stdout.write('New: ' + str(new) + ', skipped: ' + str(skipped))