:art: Only Once Command fixsale

huangqimin001 преди 3 години
родител
ревизия
e8b6f6f6c7
променени са 1 файла, в които са добавени 13 реда и са изтрити 15 реда
  1. 13 15
      commands/management/commands/fixsale.py

+ 13 - 15
commands/management/commands/fixsale.py

@@ -22,20 +22,18 @@ class Command(CompatibilityBaseCommand):
22 22
 
23 23
         close_old_connections()
24 24
 
25
-        sales = SalesResponsibilityInfoModelsSaleStatisticInfo.objects.all()
26
-        for sale in sales:
27
-            ymd = str(sale.ymd)
28
-            print('Old ymd: ', ymd)
29
-            sale.ymd = tc.local_string(tc.local_datetime(tc.string_to_local_datetime(ymd, '%Y%m%d'), days=-1), format='%Y%m%d')
30
-            print('New ymd: ', sale.ymd)
31
-            sale.save()
32
-
33
-        sales = SuperSalesResponsibilityInfoModelsSaleStatisticInfo.objects.all()
34
-        for sale in sales:
35
-            ymd = str(sale.ymd)
36
-            print('Old ymd: ', ymd)
37
-            sale.ymd = tc.local_string(tc.local_datetime(tc.string_to_local_datetime(ymd, '%Y%m%d'), days=-1), format='%Y%m%d')
38
-            print('New ymd: ', sale.ymd)
39
-            sale.save()
25
+        pks = range(0, 1200000, 10000)
26
+        pkslen = len(pks)
27
+        for idx in range(1, pkslen):
28
+            start, end = pks[idx - 1], pks[idx]
29
+            print('Start Idx: ', start)
30
+            print('End Idx: ', end)
31
+            sales = SalesResponsibilityInfoModelsSaleStatisticInfo.objects.filter(pk__gt=start, pk__lte=end)
32
+            for sale in sales:
33
+                ymd = str(sale.ymd)
34
+                print('Old ymd: ', ymd)
35
+                sale.ymd = tc.local_string(tc.local_datetime(tc.string_to_local_datetime(ymd, '%Y%m%d'), days=-1), format='%Y%m%d')
36
+                print('New ymd: ', sale.ymd)
37
+                sale.save()
40 38
 
41 39
         close_old_connections()