Skip to content

Commit d90e34f

Browse files
committed
Upgrade from Django 4 to Django 5.0 - 5.1 - 5.2
1 parent 900f8a1 commit d90e34f

24 files changed

Lines changed: 94 additions & 59 deletions

api/admin.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ def queryset(self, request, queryset):
952952
return queryset
953953

954954

955-
class DistrictAdmin(geoadmin.OSMGeoAdmin, CompareVersionAdmin, RegionRestrictedAdmin):
955+
class DistrictAdmin(geoadmin.GISModelAdmin, CompareVersionAdmin, RegionRestrictedAdmin):
956956

957957
country_in = "country__pk__in"
958958
region_in = "country__region__in"
@@ -981,7 +981,7 @@ class CountrySupportingPartnerAdmin(admin.TabularInline):
981981
model = models.CountrySupportingPartner
982982

983983

984-
class CountryAdmin(geoadmin.OSMGeoAdmin, CompareVersionAdmin, RegionRestrictedAdmin, TranslationAdmin):
984+
class CountryAdmin(geoadmin.GISModelAdmin, CompareVersionAdmin, RegionRestrictedAdmin, TranslationAdmin):
985985
country_in = "pk__in"
986986
list_filter = ("record_type", "in_search", "independent", "disputed")
987987
list_display = ("__str__", "record_type", "iso3")
@@ -1005,7 +1005,7 @@ class CountryAdmin(geoadmin.OSMGeoAdmin, CompareVersionAdmin, RegionRestrictedAd
10051005
exclude = ("key_priorities",)
10061006

10071007

1008-
class RegionAdmin(geoadmin.OSMGeoAdmin, CompareVersionAdmin, RegionRestrictedAdmin, TranslationAdmin):
1008+
class RegionAdmin(geoadmin.GISModelAdmin, CompareVersionAdmin, RegionRestrictedAdmin, TranslationAdmin):
10091009
country_in = None
10101010
region_in = "pk__in"
10111011
inlines = [
@@ -1041,7 +1041,7 @@ def queryset(self, request, queryset):
10411041
return queryset
10421042

10431043

1044-
class Admin2Admin(geoadmin.OSMGeoAdmin, CompareVersionAdmin, RegionRestrictedAdmin):
1044+
class Admin2Admin(geoadmin.GISModelAdmin, CompareVersionAdmin, RegionRestrictedAdmin):
10451045
search_fields = ("name", "admin1__country__name")
10461046
list_filter = (IsDeprecatedFilter, Admin1IsDeprecatedFilter, CountryIsDeprecatedFilter2)
10471047
modifiable = True

api/management/commands/index_and_notify.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import html
2-
from datetime import datetime, timedelta, timezone
2+
from datetime import timedelta
33

44
from django.conf import settings
55
from django.contrib.auth.models import User
66
from django.core.management.base import BaseCommand
77
from django.db.models import DurationField, ExpressionWrapper, F, Q, Sum
88
from django.db.models.query import QuerySet
99
from django.template.loader import render_to_string
10+
from django.utils import timezone as dj_timezone
1011
from django.utils.html import strip_tags
1112
from elasticsearch.helpers import bulk
1213
from sentry_sdk.crons import monitor
@@ -80,23 +81,23 @@ class Command(BaseCommand):
8081

8182
# Digest mode duration is 5 minutes once a week
8283
def is_digest_mode(self):
83-
today = datetime.now(timezone.utc)
84+
today = dj_timezone.now()
8485
weekdayhourmin = int(today.strftime("%w%H%M"))
8586
return digest_time <= weekdayhourmin and weekdayhourmin < digest_time + 5
8687

8788
def is_daily_checkup_time(self):
88-
today = datetime.now(timezone.utc)
89+
today = dj_timezone.now()
8990
hourmin = int(today.strftime("%H%M"))
9091
return daily_retro <= hourmin and hourmin < daily_retro + 5
9192

9293
def diff_9_minutes(self):
93-
return datetime.now(timezone.utc) - time_9_minutes
94+
return dj_timezone.now() - time_9_minutes
9495

9596
def diff_1_day(self):
96-
return datetime.now(timezone.utc) - time_1_day
97+
return dj_timezone.now() - time_1_day
9798

9899
def diff_1_week(self):
99-
return datetime.now(timezone.utc) - time_1_week
100+
return dj_timezone.now() - time_1_week
100101

101102
def gather_country_and_region(self, records):
102103
# Appeals only, since these have a single country/region
@@ -345,7 +346,7 @@ def get_record_display(self, rtype, count):
345346
return display
346347

347348
def get_weekly_digest_data(self, field):
348-
today = datetime.now(timezone.utc)
349+
today = dj_timezone.now()
349350
if field == "dref":
350351
return Appeal.objects.filter(end_date__gt=today, atype=0).count()
351352
elif field == "ea":

api/management/commands/ingest_appeal_docs.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
from collections import defaultdict
2-
from datetime import datetime, timezone
2+
from datetime import datetime
3+
from datetime import timezone as dt_timezone
34

45
from bs4 import BeautifulSoup
56
from dateutil.relativedelta import relativedelta
67
from django.core.exceptions import ObjectDoesNotExist
78
from django.core.management.base import BaseCommand
9+
from django.utils import timezone as dj_timezone
810
from urllib3 import PoolManager
911

1012
from api.logger import logger
@@ -46,7 +48,7 @@ def makelist(self, table):
4648
def parse_date(self, date_string):
4749
# 21 Dec 2017
4850
timeformat = "%d %b %Y"
49-
return datetime.strptime(date_string.strip(), timeformat).replace(tzinfo=timezone.utc)
51+
return datetime.strptime(date_string.strip(), timeformat).replace(tzinfo=dt_timezone.utc)
5052

5153
def handle(self, *args, **options):
5254
logger.info("Starting appeal document ingest")
@@ -80,7 +82,7 @@ def handle(self, *args, **options):
8082
qset = Appeal.objects.all()
8183
else:
8284
# By default, only check appeals for the past 3 months where Appeal Documents is 0
83-
now = datetime.now().replace(tzinfo=timezone.utc)
85+
now = dj_timezone.now()
8486
six_months_ago = now - relativedelta(months=6)
8587
# This was the original qset, but it wouldn't get newer docs for the same Appeals
8688
# qset = Appeal.objects.filter(appealdocument__isnull=True).filter(end_date__gt=six_months_ago)

api/management/commands/ingest_appealdocs.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from datetime import datetime, timezone
1+
from datetime import datetime
2+
from datetime import timezone as dt_timezone
23

34
import requests
45
from django.conf import settings
@@ -21,7 +22,7 @@ class Command(BaseCommand):
2122
@staticmethod
2223
def parse_date(date_string):
2324
timeformat = "%Y-%m-%dT%H:%M:%S"
24-
return datetime.strptime(date_string[:18], timeformat).replace(tzinfo=timezone.utc)
25+
return datetime.strptime(date_string[:18], timeformat).replace(tzinfo=dt_timezone.utc)
2526

2627
def load(self, url: str, is_fednet):
2728
codes = Appeal.objects.values_list("code", flat=True)

api/management/commands/ingest_appeals.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import os
3-
from datetime import datetime, timedelta, timezone
3+
from datetime import datetime, timedelta
4+
from datetime import timezone as dt_timezone
45

56
from django.conf import settings
67
from django.core.management.base import BaseCommand
@@ -38,7 +39,7 @@ class Command(BaseCommand):
3839

3940
def parse_date(self, date_string):
4041
timeformat = "%Y-%m-%dT%H:%M:%S"
41-
return datetime.strptime(date_string[:18], timeformat).replace(tzinfo=timezone.utc)
42+
return datetime.strptime(date_string[:18], timeformat).replace(tzinfo=dt_timezone.utc)
4243

4344
def create_bilaterals_dict(self, records):
4445
"""Aggregate amounts (rec['AmountCHF']) of Bilateral records"""

api/management/commands/ingest_deployments.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from datetime import datetime, timezone
1+
from datetime import datetime
2+
from datetime import timezone as dt_timezone
23

34
import requests
45

@@ -16,7 +17,7 @@ class Command(BaseCommand):
1617
def parse_date(self, date_string):
1718
# 21Dec2017
1819
timeformat = "%d%b%Y"
19-
return datetime.strptime(date_string.strip(), timeformat).replace(tzinfo=timezone.utc)
20+
return datetime.strptime(date_string.strip(), timeformat).replace(tzinfo=dt_timezone.utc)
2021

2122
def handle(self, *args, **options):
2223
logger.info("Starting Deployment ingest")

api/management/commands/ingest_mdb.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ def handle(self, *args, **options):
247247
"name": report_name if len(report_name) else report_dtype.name,
248248
"summary": report_description,
249249
"dtype": report_dtype,
250-
"disaster_start_date": datetime.utcnow().replace(tzinfo=timezone.utc),
250+
"disaster_start_date": timezone.now(),
251251
"auto_generated": True,
252252
"auto_generated_source": SOURCES["report_ingest"],
253253
}

api/management/commands/sync_appealdocs.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
from datetime import datetime, timezone
1+
from datetime import datetime
2+
from datetime import timezone as dt_timezone
23

34
import requests
45
from dateutil.relativedelta import relativedelta
56
from django.conf import settings
67
from django.core.management.base import BaseCommand
8+
from django.utils import timezone as dj_timezone
79
from sentry_sdk.crons import monitor
810

911
from api.logger import logger
@@ -36,7 +38,7 @@ def add_arguments(self, parser):
3638

3739
def parse_date(self, date_string):
3840
timeformat = "%Y-%m-%dT%H:%M:%S"
39-
return datetime.strptime(date_string[:18], timeformat).replace(tzinfo=timezone.utc)
41+
return datetime.strptime(date_string[:18], timeformat).replace(tzinfo=dt_timezone.utc)
4042

4143
@monitor(monitor_slug=SentryMonitor.SYNC_APPEALDOCS)
4244
def handle(self, *args, **options):
@@ -49,7 +51,7 @@ def handle(self, *args, **options):
4951
qset = Appeal.objects.all()
5052
else:
5153
# By default, only check appeals for the past 6 months where Appeal Documents is 0
52-
now = datetime.now().replace(tzinfo=timezone.utc)
54+
now = dj_timezone.now()
5355
six_months_ago = now - relativedelta(months=6)
5456
# This was the original qset, but it wouldn't get newer docs for the same Appeals
5557
# qset = Appeal.objects.filter(appealdocument__isnull=True).filter(end_date__gt=six_months_ago)

api/management/commands/user_registration_reminder.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
from datetime import datetime, timedelta, timezone
1+
from datetime import timedelta
22

33
from django.core.management.base import BaseCommand
44
from django.template.loader import render_to_string
5+
from django.utils import timezone as dj_timezone
56
from sentry_sdk.crons import monitor
67

78
from api.models import Region, UserRegion
@@ -14,7 +15,7 @@ class Command(BaseCommand):
1415
help = "Send reminder about the pending registrations"
1516

1617
def diff_3_day(self):
17-
return datetime.utcnow().replace(tzinfo=timezone.utc) - timedelta(days=3)
18+
return dj_timezone.now() - timedelta(days=3)
1819

1920
@monitor(monitor_slug=SentryMonitor.USER_REGISTRATION_REMINDER)
2021
def handle(self, *args, **options):

api/receivers.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import json
22
from datetime import datetime
3+
from datetime import timezone as dt_timezone
34

45
from django.db import transaction
56
from django.db.models import Q
@@ -224,7 +225,7 @@ def add_update_appeal_history(sender, instance, created, **kwargs):
224225
amount_funded=instance.amount_funded,
225226
valid_from=now,
226227
# TODO: use coalesce to fill valid_to instead of defining here.
227-
valid_to=datetime(2200, 1, 1, tzinfo=timezone.utc),
228+
valid_to=datetime(2200, 1, 1, tzinfo=dt_timezone.utc),
228229
start_date=instance.start_date,
229230
end_date=instance.end_date,
230231
appeal=instance,
@@ -262,7 +263,7 @@ def add_update_appeal_history(sender, instance, created, **kwargs):
262263
amount_funded=instance.amount_funded,
263264
valid_from=now,
264265
# TODO: use coalesce to fill valid_to instead of defining here.
265-
valid_to=datetime(2200, 1, 1, tzinfo=timezone.utc),
266+
valid_to=datetime(2200, 1, 1, tzinfo=dt_timezone.utc),
266267
start_date=instance.start_date,
267268
end_date=instance.end_date,
268269
appeal=instance,

0 commit comments

Comments
 (0)