#20846: Increase contrib.auth's User.username length
------------------------------+--------------------------------------
     Reporter:  ivoras@…      |                    Owner:  nobody
         Type:  New feature   |                   Status:  new
    Component:  contrib.auth  |                  Version:  1.5
     Severity:  Normal        |               Resolution:
     Keywords:                |             Triage Stage:  Unreviewed
    Has patch:  1             |      Needs documentation:  0
  Needs tests:  0             |  Patch needs improvement:  0
Easy pickings:  1             |                    UI/UX:  0
------------------------------+--------------------------------------

Comment (by hwkns):

 Replying to [comment:14 freakboy3742]:
 > To me, the idea of a > 30 character *username* is pretty laughable -
 even *my* full name fits in 30 characters.
 Frankly, the length of your own name is irrelevant.  And being unable to
 imagine the need for a username longer than 30 characters is **not** a
 good reason to set that arbitrary limit.

 > If we *are* going to do this, a max_length of 254 makes the most sense
 to me (matching the length of the email field).
 Yes, 254 makes sense if we're talking about using email addresses as
 usernames, but that's still arbitrary.  Why limit the length of `username`
 in the model at all, when that can be easily accomplished in forms?  Why
 not use the largest maximum length for a `CharField` that is still
 supported by all the database backends?

 > I'm mostly bemused that people seem to have such an aversion to using
 CUSTOM_USER_MODEL ...
 Let me quote from the docs:
     > **Warning:**
     > Changing `AUTH_USER_MODEL` has a big effect on your database
 structure. It changes the tables that are available, and it will affect
 the construction of foreign keys and many-to-many relationships. If you
 intend to set `AUTH_USER_MODEL`, you should set it before creating any
 migrations or running `manage.py migrate` for the first time.
     > Changing this setting after you have tables created is not supported
 by `makemigrations` and will result in you having to manually fix your
 schema, port your data from the old user table, and possibly manually
 reapply some migrations.
 I can't imagine why anyone would be averse to that...

 > ... and that for some reason, using and/or contributing to a separate
 username model app third-party project is considered harder than pushing a
 patch into Django (a course of action that won't have practical results
 for 6-12 months).
 As it turns out, the mechanism used by the `longerusername` package to set
 the `max_length` of `User.username` is not available in Django 1.7, so
 yes, it is going to be considerably more difficult.  Even if it weren't,
 providing sensible defaults should be the goal of any good framework, so
 pushing a patch into Django is a worthwhile pursuit.

--
Ticket URL: <https://code.djangoproject.com/ticket/20846#comment:15>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/074.07fa7def73e0c298be92202bd7a24c71%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to