confirmation: Use BigInteger to match other models' "id" field.

Without this, Django builds queries with which compare tables' "id"
fields to `("confirmation_confirmation"."object_id")::bigint`; the
explicit cast prevents the index added in the previous commit from
being used.
This commit is contained in:
Alex Vandiver 2024-07-31 21:18:01 +00:00 committed by Tim Abbott
parent fcb04598f0
commit 9e02e562bb
2 changed files with 16 additions and 1 deletions

View File

@ -0,0 +1,15 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("confirmation", "0014_confirmation_confirmatio_content_80155a_idx"),
]
operations = [
migrations.AlterField(
model_name="confirmation",
name="object_id",
field=models.PositiveBigIntegerField(db_index=True),
),
]

View File

@ -209,7 +209,7 @@ def confirmation_url(
class Confirmation(models.Model): class Confirmation(models.Model):
content_type = models.ForeignKey(ContentType, on_delete=CASCADE) content_type = models.ForeignKey(ContentType, on_delete=CASCADE)
object_id = models.PositiveIntegerField(db_index=True) object_id = models.PositiveBigIntegerField(db_index=True)
content_object = GenericForeignKey("content_type", "object_id") content_object = GenericForeignKey("content_type", "object_id")
date_sent = models.DateTimeField(db_index=True) date_sent = models.DateTimeField(db_index=True)
confirmation_key = models.CharField(max_length=40, db_index=True) confirmation_key = models.CharField(max_length=40, db_index=True)