Using django ORM from web browser and from command line apps
News123
news1234 at free.fr
Tue Jun 21 20:21:54 EDT 2011
Hi Ian,
On 06/22/2011 02:09 AM, Ian Kelly wrote:
> On Tue, Jun 21, 2011 at 5:39 PM, News123 <news1234 at 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
More information about the Python-list
mailing list