Hi, I'm not too sure about this.
While Postgres encourages using non-deterministic collations, they're not without their downsides. For example, you can't do a LIKE query on a field using a non-deterministic collation, but you can with CItext - although I don't believe there's a way to index it. Say, for example, you want to store your user emails CI - this is great for logging in but it makes it impossible to search for users with a particular email domain, or trying to find someone by the username part, say. On the other hand, we could just say: don't use either, put an index on UPPER and make sure you always use iexact. I don't have a very strong opinion. Cheers, Tom On Tue, 25 Jan 2022 at 14:01, Paolo Melchiorre <pa...@melchiorre.org> wrote: > Hi Mariusz, > > I agree with you on deprecating and then removing CI fields. > > I only would suggest adding some examples of migrations from CI fields > to collations in the deprecation notes to help users to easily > migrate. > > So +1 for me too. > > Ciao, > Paolo > > On Tue, Jan 25, 2022 at 1:39 PM Mariusz Felisiak > <felisiak.mari...@gmail.com> wrote: > > > > Hi y'all, > > > > Django 3.2+ supports "db_collation" [1] for "CharField" and > "TextField" along with migration operations ("CreateCollation()", > "RemoveCollation") and the database function "Collate()" [3]. Moreover CI > fields and the entire "citext" module are discouraged since PostgreSQL 12 > [4] in favor of collations. I think it's time to deprecate CI fields from > the "contrib.postgres" in favor of "CharField" and "TextField" with case > insensitive collations (and remove them in Django 5.0). > > > > Best, > > Mariusz > > > > [1] https://code.djangoproject.com/ticket/31777 > > [2] https://code.djangoproject.com/ticket/32046 > > [3] https://code.djangoproject.com/ticket/21181 > > [4] https://www.postgresql.org/docs/12/citext.html > > > > -- > > You received this message because you are subscribed to the Google > Groups "Django developers (Contributions to Django itself)" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to django-developers+unsubscr...@googlegroups.com. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-developers/833bb13b-3db1-f35b-3d51-a2a4671b45a9%40gmail.com > . > > > > -- > Paolo Melchiorre > > https://www.paulox.net > > -- > You received this message because you are subscribed to the Google Groups > "Django developers (Contributions to Django itself)" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-developers+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-developers/CAKFO%2Bx5j8Y6%2BMH_%2Bug-BGKZ6qaWD9tRWVLXLOXhmTQuvrN8tzw%40mail.gmail.com > . > -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAHoz%3DMZH_eFng_eehDYkWAf7GnW27XFr7wa9%3D4tqjeDvxJrCsA%40mail.gmail.com.