Hey Shawn,
Thanks, it is working like charm.
Best regards,
Ulisses Dias
2011/8/20 Shawn Milochik <[email protected]>
> The reason it's generating the same one every time is that the code as
> written executes when Django starts and that name is kept until you restart
> your Django process.
>
> You can use a lambda to fix that in general
>
> Example:
>
> wrong:
> #all records get the datetime the Django process was launched
> created_date = models.DateTimeField(default = datetime.now())
>
> right (ignoring the auto_now_add shortcut):
> #datetime.now() will be executed each time an instance is created
> #you can also forgo the lambda and the parentheses, and just use
> datetime.now,
> #because it's callable
> created_date = models.DateTimeField(default = lambda:
> datetime.now())
>
> According to the Django docs you can do this with upload_to as well:
> https://docs.djangoproject.**com/en/1.3/ref/models/fields/#**filefield<https://docs.djangoproject.com/en/1.3/ref/models/fields/#filefield>
> "This may also be a callable, such as a function, which will be called
> to obtain the upload path, including the filename"
>
> Rather than using random, I recommend using the tempfile module in Python's
> standard library:
> http://docs.python.org/**library/tempfile<http://docs.python.org/library/tempfile>
>
> You can use mkdtemp to create a unique directory and mkstemp to create a
> filename if you want that to be unique as well. That will ensure your random
> path doesn't accidentally overwrite any other.
> Don't be fooled by the 'temp' part; you're free to provide a starting path
> for all "temp" directories (including in your 'uploads' folder), and they're
> not deleted automatically, so you can keep them permanently or prune them as
> needed. If you don't care you can use gettempdir and it'll put the file in
> your OS's default temp folder (probably /tmp) and it'll be removed on reboot
> (or by you manually).
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to django-users+unsubscribe@**
> googlegroups.com <django-users%[email protected]>.
> For more options, visit this group at http://groups.google.com/**
> group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en>
> .
>
>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.