kopia lustrzana https://github.com/wagtail/wagtail
Fix handling of models with UUID primary keys in reference index
rodzic
e09082bd43
commit
b313098aa0
|
@ -72,7 +72,7 @@ def update_reference_index_on_save(instance, **kwargs):
|
|||
return
|
||||
|
||||
update_reference_index_task.enqueue(
|
||||
instance._meta.app_label, instance._meta.model_name, instance.pk
|
||||
instance._meta.app_label, instance._meta.model_name, str(instance.pk)
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
# Generated by Django 5.1.5 on 2025-02-13 01:36
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("tests", "0046_alter_custom_rendition_to_unique_constraint"),
|
||||
("wagtailcore", "0094_alter_page_locale"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="advertwithcustomuuidprimarykey",
|
||||
name="page",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="wagtailcore.page",
|
||||
),
|
||||
),
|
||||
]
|
|
@ -1010,10 +1010,12 @@ class AdvertWithCustomUUIDPrimaryKey(ClusterableModel):
|
|||
advert_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||
url = models.URLField(null=True, blank=True)
|
||||
text = models.CharField(max_length=255)
|
||||
page = models.ForeignKey(Page, null=True, blank=True, on_delete=models.SET_NULL)
|
||||
|
||||
panels = [
|
||||
FieldPanel("url"),
|
||||
FieldPanel("text"),
|
||||
FieldPanel("page"),
|
||||
]
|
||||
|
||||
def __str__(self):
|
||||
|
|
|
@ -250,6 +250,19 @@ class TestCreateOrUpdateForObject(TestCase):
|
|||
refs = ReferenceIndex.get_references_to(content_type)
|
||||
self.assertEqual(refs.count(), 0)
|
||||
|
||||
def test_model_with_uuid_primary_key(self):
|
||||
refs = ReferenceIndex.get_references_to(self.event_page)
|
||||
self.assertEqual(refs.count(), 0)
|
||||
|
||||
with self.captureOnCommitCallbacks(execute=True):
|
||||
AdvertWithCustomUUIDPrimaryKey.objects.create(
|
||||
text="An advertisement",
|
||||
page=self.event_page,
|
||||
)
|
||||
|
||||
refs = ReferenceIndex.get_references_to(self.event_page)
|
||||
self.assertEqual(refs.count(), 1)
|
||||
|
||||
def test_rebuild_references_index_no_verbosity(self):
|
||||
stdout = StringIO()
|
||||
management.call_command(
|
||||
|
|
Ładowanie…
Reference in New Issue