From 4062986e069600b7d2176a6c93389a81d1c681f0 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 12 Nov 2024 14:41:54 -0800 Subject: [PATCH] 11279 add collation --- .../migrations/0197_auto_20241112_2221.py | 19 ++++++++++++++++ ...0198_alter_site_options_alter_site_name.py | 22 +++++++++++++++++++ netbox/dcim/models/sites.py | 5 +++-- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 netbox/dcim/migrations/0197_auto_20241112_2221.py create mode 100644 netbox/dcim/migrations/0198_alter_site_options_alter_site_name.py diff --git a/netbox/dcim/migrations/0197_auto_20241112_2221.py b/netbox/dcim/migrations/0197_auto_20241112_2221.py new file mode 100644 index 000000000..584f955a0 --- /dev/null +++ b/netbox/dcim/migrations/0197_auto_20241112_2221.py @@ -0,0 +1,19 @@ +# Generated by Django 5.0.9 on 2024-11-12 22:21 + +from django.contrib.postgres.operations import CreateCollation +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0196_qinq_svlan'), + ] + + operations = [ + CreateCollation( + "natural_sort", + provider="icu", + locale="und-u-kn-true", + ), + ] diff --git a/netbox/dcim/migrations/0198_alter_site_options_alter_site_name.py b/netbox/dcim/migrations/0198_alter_site_options_alter_site_name.py new file mode 100644 index 000000000..1dbab9cf7 --- /dev/null +++ b/netbox/dcim/migrations/0198_alter_site_options_alter_site_name.py @@ -0,0 +1,22 @@ +# Generated by Django 5.0.9 on 2024-11-12 22:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0197_auto_20241112_2221'), + ] + + operations = [ + migrations.AlterModelOptions( + name='site', + options={'ordering': ('name',)}, + ), + migrations.AlterField( + model_name='site', + name='name', + field=models.CharField(db_collation='natural_sort', max_length=100, unique=True), + ), + ] diff --git a/netbox/dcim/models/sites.py b/netbox/dcim/models/sites.py index a290f4119..442bd8b27 100644 --- a/netbox/dcim/models/sites.py +++ b/netbox/dcim/models/sites.py @@ -143,7 +143,8 @@ class Site(ContactsMixin, ImageAttachmentsMixin, PrimaryModel): verbose_name=_('name'), max_length=100, unique=True, - help_text=_("Full name of the site") + help_text=_("Full name of the site"), + db_collation="natural_sort" ) _name = NaturalOrderingField( target_field='name', @@ -245,7 +246,7 @@ class Site(ContactsMixin, ImageAttachmentsMixin, PrimaryModel): ) class Meta: - ordering = ('_name',) + ordering = ('name',) verbose_name = _('site') verbose_name_plural = _('sites')