Thomas That looks potentially useful - can you please give an example (on the webpage) of how to do a multi-row insertion? I typically need to add thousands of rows from existing spreadsheets - am using xlrd to read the data, but if DSE could speed up the write-to-database operation, that would be incredibly useful.
Thanks! On 6 January 2011 17:20, Thomas Weholt <thomas.weh...@gmail.com> wrote: > Just want to mention DSE which is especially made to solve problems > with mass insert and/updates in django: > > http://pypi.python.org/pypi/dse/0.3.0 > > Regards, > Thomas > > On Wed, Dec 29, 2010 at 1:22 PM, Derek <gamesb...@gmail.com> wrote: > > Thanks Craig - that explains it very clearly indeed ("textbook answer"!) > > > > On 27 December 2010 16:50, W. Craig Trader <craig.tra...@gmail.com> > wrote: > >> > >> Derek ... > >> > >> Quoting from > http://docs.djangoproject.com/en/1.2/topics/db/transactions/: > >>> > >>> Django’s default behavior is to run with an open transaction which it > >>> commits automatically when any built-in, data-altering model function > is > >>> called. For example, if you call model.save() or model.delete(), the > change > >>> will be committed immediately. > >>> > >>> This is much like the auto-commit setting for most databases. As soon > as > >>> you perform an action that needs to write to the database, Django > produces > >>> the INSERT/UPDATE/DELETE statements and then does the COMMIT. There’s > no > >>> implicit ROLLBACK. > >> > >> Using the Django transaction API, you can manually control transactions. > >> In this case, Silva must be doing something like this: > >> > >> from django.db import transaction > >> > >> @transaction.commit_manually > >> def viewfunc(request): > >> > >> > >> > >> ... > >> # You can commit/rollback however and whenever you want > >> i = 0 > >> for x in data: > >> ... save something ... > >> i += 1 > >> if i % 1000: > >> > >> transaction.commit() > >> > >> # One last commit to persist the last batch of saves > >> transaction.commit() > >> > >> > >> > >> > >> I will also note that the transaction API can be (and should be) used > when > >> you're writing management commands. > >> > >> - Craig - > >> > >> On Mon, Dec 27, 2010 at 05:29, derek <gamesb...@gmail.com> wrote: > >>> > >>> Can you explain what you mean by "manual commitments" (preferably with > >>> a code example)? > >>> > >>> Thanks > >>> Derek > >>> > >>> On Dec 26, 4:38 am, Silva Paulo <psdasi...@yahoo.com> wrote: > >>> > OK. I found a "solution". > >>> > Using manual commitments after lots of insertions (ex. >1000) makes > the > >>> > massive insertion very fast (at least for my needs). > >>> > > >>> > Thanks to all who answered. > >>> > > >>> > --- On Fri, 12/24/10, Silva Paulo <psdasi...@yahoo.com> wrote: > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > From: Silva Paulo <psdasi...@yahoo.com> > >>> > > Subject: Massive insertion of records > >>> > > To: "newbie" <django-users@googlegroups.com> > >>> > > Date: Friday, December 24, 2010, 6:26 PM > >>> > > I need to do a massive insertion of > >>> > > records in two tables "connectd" by "foreignkey". Is there a > >>> > > way, using the Django db API, to do it. e=Foo(...);e.save() > >>> > > seems too slow. > >>> > > >>> > > Thanks > >>> > > >>> > > > >>> > > >>> > > -- > >>> > > You received this message because you are subscribed to the > >>> > > Google Groups "Django users" group. > >>> > > To post to this group, send email to django-users@googlegroups.com > . > >>> > > To unsubscribe from this group, send email to > >>> > > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > . > >>> > > For more options, visit this group > >>> > > athttp://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 django-us...@googlegroups.com. > >>> To unsubscribe from this group, send email to > >>> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > . > >>> For more options, visit this group at > >>> 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 django-us...@googlegroups.com. > >> To unsubscribe from this group, send email to > >> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > . > >> For more options, visit this group at > >> 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 django-us...@googlegroups.com. > > To unsubscribe from this group, send email to > > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > . > > For more options, visit this group at > > http://groups.google.com/group/django-users?hl=en. > > > > > > -- > Mvh/Best regards, > Thomas Weholt > http://www.weholt.org > > -- > 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<django-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > 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 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.