Hi Ian, On 06/22/2011 02:09 AM, Ian Kelly wrote: > On Tue, Jun 21, 2011 at 5:39 PM, News123 <news1...@free.fr> wrote: >> I'm having a django browser application. >> >> There's certain administrative tasks, that I'd like to perform from the >> command line (cronjob or manually).
> It sounds like you probably want a custom management command: > > https://docs.djangoproject.com/en/1.3/howto/custom-management-commands/ Didn't know this existed. Yes this is definitely a way to go. At least for part of the commands, that I plan to implement. Out of curiousity: Do you know whether the imports would be executed for each potential command as soon as I call manage.py or only 'on demand'? > >> I wanted to know whether there are any precautions to take if I do this. >> >> The one issue, that I could imagine is that Django (if I understood >> correctly) performs normally database transaction based an a http request. > > If you have the TransactionMiddleware enabled, yes. Otherwise the > default is to commit everything immediately. Good to know. > >> What would happen if I don't do anythong special in a script. >> Would the entire runtime of the script be considered a transaction? > > The default here is also to commit everything immediately. Since > there is no HTTP request, the TransactionMiddleware does not get > invoked even if enabled. For controlled transactions you will need to > use the commit_on_success or commit_manually decorator / > context-managers: > > https://docs.djangoproject.com/en/1.3/topics/db/transactions/ > Thanks this url is very clear. :-) I will use the commit model as required for my different tasks -- http://mail.python.org/mailman/listinfo/python-list