@@ -21,15 +21,32 @@ def forwards(apps, schema_editor):
21
21
AnalyzedUrl = apps .get_model ("adserver_analyzer" , "AnalyzedUrl" )
22
22
AnalyzedAdvertiserUrl = apps .get_model ("adserver_analyzer" , "AnalyzedAdvertiserUrl" )
23
23
24
- for analyzed_url in AnalyzedUrl .objects .all ():
24
+ # Update AnalyzedUrls domain field
25
+ urls = []
26
+ batch_size = 1000
27
+ for analyzed_url in AnalyzedUrl .objects .all ().order_by ("pk" ).iterator ():
25
28
if not analyzed_url .domain :
26
29
analyzed_url .domain = get_domain_from_url (analyzed_url .url )
27
- analyzed_url .save (update_fields = ["domain" ])
28
-
29
- for analyzed_advertiser_url in AnalyzedAdvertiserUrl .objects .all ():
30
+ urls .append (analyzed_url )
31
+ if len (urls ) >= batch_size :
32
+ AnalyzedUrl .objects .bulk_update (urls , ["domain" ])
33
+ urls = []
34
+ if len (urls ) >= 0 :
35
+ AnalyzedUrl .objects .bulk_update (urls , ["domain" ])
36
+ urls = []
37
+
38
+ # Do the same for AnalyzedAdvertiserUrls
39
+ urls = []
40
+ for analyzed_advertiser_url in AnalyzedAdvertiserUrl .objects .all ().order_by ("pk" ).iterator ():
30
41
if not analyzed_advertiser_url .domain :
31
42
analyzed_advertiser_url .domain = get_domain_from_url (analyzed_advertiser_url .url )
32
- analyzed_advertiser_url .save (update_fields = ["domain" ])
43
+ urls .append (analyzed_advertiser_url )
44
+ if len (urls ) >= batch_size :
45
+ AnalyzedAdvertiserUrl .objects .bulk_update (urls , ["domain" ])
46
+ urls = []
47
+ if len (urls ) >= 0 :
48
+ AnalyzedAdvertiserUrl .objects .bulk_update (urls , ["domain" ])
49
+ urls = []
33
50
34
51
35
52
class Migration (migrations .Migration ):
0 commit comments