On Fri, Oct 7, 2011 at 10:01 PM, Chris Seberino <cseber...@gmail.com> wrote: > > > On Oct 7, 10:39 am, Jacob Kaplan-Moss <ja...@jacobian.org> wrote: >> On Fri, Oct 7, 2011 at 10:30 AM, Chris Seberino <cseber...@gmail.com> wrote: >> >> > I've noticed that this doesn't often work in Django shell... >> >> > x = MyModel.objects.all() >> > x[3].some_field = "new value" >> > x[3].save() > >> This is because `MyModel.objects.all()` isn't a list; it's a QuerySet. >> That is, `MyModel.objects.all()` *doesn't* hit the database until you >> say `x[3]`, at which point Django performs a query with a LIMIT and > > OK. I understand. What is easiest way then to *force* my x[3] code > above to hit the database so that > my changes are permanent?
x = list(MyModel.objects.all()) x[3].some_field = "new value" x[3].save() Cheers Tom -- 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. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.