title: Can django's auth_user.username be varchar(75)? How could that be done?
body: <p>Is there anything wrong with running alter table on <code>auth_user</code> to make <code>username</code> be <code>varchar(75)</code> so it can fit an email? What does that break if anything?</p>
  
  <p>If you were to change <code>auth_user.username</code> to be <code>varchar(75)</code> where would you need to modify django? Is it simply a matter of changing 30 to 75 in the source code?</p>
  
  <pre><code>username = models.CharField(_('username'), max_length=30, unique=True, help_text=_("Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters"))
  </code></pre>
  
  <p>Or is there other validation on this field that would have to be changed or any other repercussions to doing so?</p>
  
  <p>See comment discussion with bartek below regarding the reason for doing it.</p>
  
  <p><strong>Edit</strong>: Looking back on this after many months. For anyone who doesn't know the premise: Some apps don't have a requirement or desire to use a username, they use only email for registration &amp; auth. Unfortunately in django auth.contrib, username is required. You could start putting emails in the username field, but the field is only 30 char and emails may be long in the real world. Potentially even longer than the 75 char suggested here, but 75 char accommodates most sane email addresses. The question is aimed at this situation, as encountered by email-auth-based applications.</p>