I maintain one project which does this with a save hook on the User model, setting the username to the email address field (with uniqueness tests, of course).
It’s crude, but seems to work well and hasn’t given any problems.
—
Best Regards,
Brian Maher
Senior Research Software Engineer & Systems Administrator
King’s Digital Lab
VWB, 2nd Floor, Room 2.50, Strand Campus
Work: 0207 848 0511
Mobile: 07714 285086
Voip: 01702 667471