If you are using PostgreSQL I'd suggest using a CIText field[0] with a unique
constraint[1].
If you are *not* using PostgreSQL your best choice is likely to emulate the
upcoming expression[3] support for UniqueConstraint(Lower('field')) by using
a RunSQL operation that performs the appropriate DDL assuming your backend
supports it.
Best,
Simon
[0] https://docs.djangoproject.com/en/3.0/ref/contrib/postgres/fields/#citext-fields
[1] https://docs.djangoproject.com/en/3.0/ref/models/fields/#unique
[3] https://github.com/django/django/pull/11929
Le jeudi 23 janvier 2020 21:36:29 UTC-5, Mike Dewhirst a écrit :
What is the best way to ensure a charfield is case-insensitively unique?
Currently I'm using a query with __iexact=True but I wonder whether
there is a better way.
Thanks
Mike
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/967c8a27-a8ec-42fc-abf5-bda76fbb5ef9%40googlegroups.com.
No comments:
Post a Comment