From 014e922d98dd0d2b6f333771f1148e58f1815c39 Mon Sep 17 00:00:00 2001 From: AngryUbuntuNerd Date: Tue, 29 Jul 2025 15:56:09 +0100 Subject: [PATCH 1/4] replace % with mod() SQL function to avoid invalid double-percentage signs --- django_celery_beat/schedulers.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/django_celery_beat/schedulers.py b/django_celery_beat/schedulers.py index 99d98f8c..37e246a1 100644 --- a/django_celery_beat/schedulers.py +++ b/django_celery_beat/schedulers.py @@ -16,7 +16,7 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.db import close_old_connections, transaction -from django.db.models import Case, F, IntegerField, Q, When +from django.db.models import Case, ExpressionWrapper, F, Func, IntegerField, Q, When from django.db.models.functions import Cast from django.db.utils import DatabaseError, InterfaceError from kombu.utils.encoding import safe_repr, safe_str @@ -331,11 +331,16 @@ def _get_crontab_exclude_query(self): *[ When( timezone=timezone_name, - then=( - F('hour_int') - + self._get_timezone_offset(timezone_name) - + 24 - ) % 24 + then=ExpressionWrapper( + Func( + F('hour_int') + + self._get_timezone_offset(timezone_name) + + 24, + 24, + function='MOD' + ), + output_field=IntegerField(), + ), ) for timezone_name in self._get_unique_timezone_names() ], From 19e59c38c38112ce00e44e5c5aa57f331a30676b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 15:06:04 +0000 Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- django_celery_beat/schedulers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/django_celery_beat/schedulers.py b/django_celery_beat/schedulers.py index 37e246a1..cabfc6f8 100644 --- a/django_celery_beat/schedulers.py +++ b/django_celery_beat/schedulers.py @@ -16,7 +16,8 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.db import close_old_connections, transaction -from django.db.models import Case, ExpressionWrapper, F, Func, IntegerField, Q, When +from django.db.models import (Case, ExpressionWrapper, F, Func, IntegerField, + Q, When) from django.db.models.functions import Cast from django.db.utils import DatabaseError, InterfaceError from kombu.utils.encoding import safe_repr, safe_str From b96cfe324a4fce09b872e5f4a06bf98bf4ed4257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asif=20Saif=20Uddin=20=7B=22Auvi=22=3A=22=E0=A6=85?= =?UTF-8?q?=E0=A6=AD=E0=A6=BF=22=7D?= Date: Mon, 6 Oct 2025 16:52:45 +0600 Subject: [PATCH 3/4] Update django_celery_beat/schedulers.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- django_celery_beat/schedulers.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/django_celery_beat/schedulers.py b/django_celery_beat/schedulers.py index cabfc6f8..6f26c575 100644 --- a/django_celery_beat/schedulers.py +++ b/django_celery_beat/schedulers.py @@ -16,8 +16,9 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.db import close_old_connections, transaction -from django.db.models import (Case, ExpressionWrapper, F, Func, IntegerField, - Q, When) +from django.db.models import ( + Case, ExpressionWrapper, F, Func, IntegerField, Q, When +) from django.db.models.functions import Cast from django.db.utils import DatabaseError, InterfaceError from kombu.utils.encoding import safe_repr, safe_str From e992587ca1f8c1600d079b64401ccd78a6108503 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 10:54:59 +0000 Subject: [PATCH 4/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- django_celery_beat/schedulers.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/django_celery_beat/schedulers.py b/django_celery_beat/schedulers.py index 6f26c575..cabfc6f8 100644 --- a/django_celery_beat/schedulers.py +++ b/django_celery_beat/schedulers.py @@ -16,9 +16,8 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.db import close_old_connections, transaction -from django.db.models import ( - Case, ExpressionWrapper, F, Func, IntegerField, Q, When -) +from django.db.models import (Case, ExpressionWrapper, F, Func, IntegerField, + Q, When) from django.db.models.functions import Cast from django.db.utils import DatabaseError, InterfaceError from kombu.utils.encoding import safe_repr, safe_str