Because the id is not known until after the record is saved, so you'd have to 
generate some non-colliding filler value anyway.  Using incremental numbers can 
also leak usage information to the users.


On Jan 12, 2011, at 1:52 PM, Acorn wrote:

> Why not just use incremental numeric user IDs?
> 
> On 12 January 2011 21:23, Eric Chamberlain <e...@rf.com> wrote:
>> We use a base64 or base36 (if you want compatibility with the contrib.admin) 
>> encoded UUID, or generate a random 30-character string, the odds of a 
>> collision is quite low.
>> 
>> On Jan 12, 2011, at 1:11 PM, Micah Carrick wrote:
>> 
>>> I've got my site's authentication working with and email and password 
>>> only--no username (thanks to Shawn Milochik for helping me with that). 
>>> However, I still need to put in a username to make the User model happy. I 
>>> was hoping to have "user" as a prefix and then some unique number.
>>> 
>>> I cannot simply copy the email to the username because the username must be 
>>> less than 30 characters and, after looking into my database, many email 
>>> addresses go over that.
>>> I cannot generate a random number because there could be a collision.
>>> I cannot use uuid4().hex because that's 32 characters... I need <30.
>>> I cannot use User.objects.count() because that could result in a collision 
>>> if 2 users register at the same time.
>>> 
>>> Thoughts?
>>> 
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to