diff --git a/Makefile b/Makefile index 24197e6..0a99c8d 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,15 @@ dev: test: docker-compose -f test-services-docker-compose.yaml run --rm django-q2 poetry run pytest +shell: + docker-compose -f test-services-docker-compose.yaml run --rm django-q2 poetry run python manage.py shell + +makemigrations: + docker-compose -f test-services-docker-compose.yaml run --rm django-q2 poetry run python manage.py makemigrations + +migrate: + docker-compose -f test-services-docker-compose.yaml run --rm django-q2 poetry run python manage.py migrate + createsuperuser: docker compose -f web-docker-compose.yaml run --rm web python manage.py createsuperuser diff --git a/django_q/migrations/0018_task_success_index.py b/django_q/migrations/0018_task_success_index.py new file mode 100644 index 0000000..f3c2204 --- /dev/null +++ b/django_q/migrations/0018_task_success_index.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.7 on 2024-03-05 17:03 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("django_q", "0017_task_cluster_alter"), + ] + + operations = [ + migrations.AddIndex( + model_name="task", + index=models.Index( + condition=models.Q(("success", True)), + fields=["group", "name", "func"], + name="success_index", + ), + ), + ] diff --git a/django_q/models.py b/django_q/models.py index b63adf5..bd4956c 100644 --- a/django_q/models.py +++ b/django_q/models.py @@ -5,6 +5,7 @@ from keyword import iskeyword from django import get_version from django.core.exceptions import ValidationError from django.db import models +from django.db.models import Q from django.template.defaultfilters import truncatechars from django.urls import reverse from django.utils import timezone @@ -111,6 +112,13 @@ class Task(models.Model): class Meta: app_label = "django_q" ordering = ["-stopped"] + indexes = [ + models.Index( + name="success_index", + fields=["group", "name", "func"], + condition=Q(success=True), + ), + ] class SuccessManager(models.Manager):