Fix sorting master
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 18 Feb 2026 12:58:15 +0000 (13:58 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 18 Feb 2026 12:58:15 +0000 (13:58 +0100)
src/catalogue/migrations/0054_alter_book_sort_key_alter_book_sort_key_author_and_more.py [new file with mode: 0644]
src/catalogue/models/book.py
src/catalogue/models/tag.py
src/dictionary/migrations/0005_alter_note_sort_key.py [new file with mode: 0644]
src/dictionary/models.py
src/pdcounter/migrations/0004_alter_author_sort_key.py [new file with mode: 0644]
src/pdcounter/models.py

diff --git a/src/catalogue/migrations/0054_alter_book_sort_key_alter_book_sort_key_author_and_more.py b/src/catalogue/migrations/0054_alter_book_sort_key_alter_book_sort_key_author_and_more.py
new file mode 100644 (file)
index 0000000..d59c8ef
--- /dev/null
@@ -0,0 +1,28 @@
+# Generated by Django 4.0.8 on 2026-02-18 12:56
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('catalogue', '0053_alter_book_pages_alter_book_read_time'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='book',
+            name='sort_key',
+            field=models.CharField(db_collation='C', db_index=True, editable=False, max_length=120, verbose_name='klucz sortowania'),
+        ),
+        migrations.AlterField(
+            model_name='book',
+            name='sort_key_author',
+            field=models.CharField(db_collation='C', db_index=True, default='', editable=False, max_length=120, verbose_name='klucz sortowania wg autora'),
+        ),
+        migrations.AlterField(
+            model_name='tag',
+            name='sort_key',
+            field=models.CharField(db_collation='C', db_index=True, max_length=120, verbose_name='klucz sortowania'),
+        ),
+    ]
index 1570c76..375c79a 100644 (file)
@@ -38,9 +38,9 @@ bofh_storage = BofhFileSystemStorage()
 class Book(models.Model):
     """Represents a book imported from WL-XML."""
     title = models.CharField('tytuł', max_length=32767)
 class Book(models.Model):
     """Represents a book imported from WL-XML."""
     title = models.CharField('tytuł', max_length=32767)
-    sort_key = models.CharField('klucz sortowania', max_length=120, db_index=True, editable=False)
+    sort_key = models.CharField('klucz sortowania', max_length=120, db_index=True, db_collation='C', editable=False)
     sort_key_author = models.CharField(
     sort_key_author = models.CharField(
-        'klucz sortowania wg autora', max_length=120, db_index=True, editable=False, default='')
+        'klucz sortowania wg autora', max_length=120, db_index=True, db_collation='C', editable=False, default='')
     slug = models.SlugField('slug', max_length=120, db_index=True, unique=True)
     common_slug = models.SlugField('wspólny slug', max_length=120, db_index=True)
     language = models.CharField('kod języka', max_length=3, db_index=True, default=app_settings.DEFAULT_LANGUAGE)
     slug = models.SlugField('slug', max_length=120, db_index=True, unique=True)
     common_slug = models.SlugField('wspólny slug', max_length=120, db_index=True)
     language = models.CharField('kod języka', max_length=3, db_index=True, default=app_settings.DEFAULT_LANGUAGE)
index fb90a7b..d7b02de 100644 (file)
@@ -52,7 +52,7 @@ class Tag(models.Model):
     fragment themes (motifs) and some book hierarchy related kludges."""
     name = models.CharField('nazwa', max_length=120, db_index=True)
     slug = models.SlugField('slug', max_length=120, db_index=True)
     fragment themes (motifs) and some book hierarchy related kludges."""
     name = models.CharField('nazwa', max_length=120, db_index=True)
     slug = models.SlugField('slug', max_length=120, db_index=True)
-    sort_key = models.CharField('klucz sortowania', max_length=120, db_index=True)
+    sort_key = models.CharField('klucz sortowania', max_length=120, db_index=True, db_collation='C')
     category = models.CharField(
         'kategoria', max_length=50, blank=False, null=False, db_index=True, choices=TAG_CATEGORIES)
     description = models.TextField('opis', blank=True)
     category = models.CharField(
         'kategoria', max_length=50, blank=False, null=False, db_index=True, choices=TAG_CATEGORIES)
     description = models.TextField('opis', blank=True)
diff --git a/src/dictionary/migrations/0005_alter_note_sort_key.py b/src/dictionary/migrations/0005_alter_note_sort_key.py
new file mode 100644 (file)
index 0000000..3df99ae
--- /dev/null
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.8 on 2026-02-18 12:56
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dictionary', '0004_auto_20151221_1225'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='note',
+            name='sort_key',
+            field=models.CharField(db_collation='C', db_index=True, max_length=128),
+        ),
+    ]
index 1068a96..a3ac1ac 100644 (file)
@@ -25,7 +25,7 @@ class Qualifier(models.Model):
 class Note(models.Model):
     """Represents a single annotation from a book."""
     html = models.TextField()
 class Note(models.Model):
     """Represents a single annotation from a book."""
     html = models.TextField()
-    sort_key = models.CharField(max_length=128, db_index=True)
+    sort_key = models.CharField(max_length=128, db_index=True, db_collation='C')
     fn_type = models.CharField(max_length=10, db_index=True)
     qualifiers = models.ManyToManyField(Qualifier)
     language = models.CharField(max_length=10, db_index=True)
     fn_type = models.CharField(max_length=10, db_index=True)
     qualifiers = models.ManyToManyField(Qualifier)
     language = models.CharField(max_length=10, db_index=True)
diff --git a/src/pdcounter/migrations/0004_alter_author_sort_key.py b/src/pdcounter/migrations/0004_alter_author_sort_key.py
new file mode 100644 (file)
index 0000000..2e42771
--- /dev/null
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.8 on 2026-02-18 12:56
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('pdcounter', '0003_alter_author_options_alter_bookstub_options_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='author',
+            name='sort_key',
+            field=models.CharField(db_collation='C', db_index=True, max_length=120, verbose_name='klucz sortowania'),
+        ),
+    ]
index 622dc46..4bdfc8d 100644 (file)
@@ -13,7 +13,7 @@ from search.utils import UnaccentSearchVector
 class Author(models.Model):
     name = models.CharField('imię i nazwisko', max_length=50, db_index=True)
     slug = models.SlugField('slug', max_length=120, db_index=True, unique=True)
 class Author(models.Model):
     name = models.CharField('imię i nazwisko', max_length=50, db_index=True)
     slug = models.SlugField('slug', max_length=120, db_index=True, unique=True)
-    sort_key = models.CharField('klucz sortowania', max_length=120, db_index=True)
+    sort_key = models.CharField('klucz sortowania', max_length=120, db_index=True, db_collation='C')
     description = models.TextField('opis', blank=True)
     death = models.IntegerField('rok śmierci', blank=True, null=True)
     gazeta_link = models.CharField(blank=True, max_length=240)
     description = models.TextField('opis', blank=True)
     death = models.IntegerField('rok śmierci', blank=True, null=True)
     gazeta_link = models.CharField(blank=True, max_length=240)