I think that >>> print my_query_set.query.as_sql()
should do the trick. Thanks, Eric Florenzano On Dec 30, 12:11 pm, Info Cascade <informationcasc...@gmail.com> wrote: > Hi -- > > I am getting intermittent errors on certain database queries on our > production server. > I am having a hard time duplicating them (most of the time they run > okay, only sometimes on the production server am I receiving exception > messages), > so I want to log the SQL query itself and see what it is, and why it > might be failing. > Is there some way of seeing what SQL statement will be executed by a > QuerySet before actually executing it? > I've also set up logging on the database side, so I can look there as well. > Any other ideas for how I might debug this? See anything wrong with the > queries? > I do need to know the total number of articles returned, and .count() is > the recommended way of doing that. In most cases I'm slicing the > QuerySet after getting the count. > > Any help would be very much appreciated! > > ~Liam > > Traceback (most recent call last): > > File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line > 86, in get_response > response = callback(request, *callback_args, **callback_kwargs) > > File "/var/www/vhosts/site.com/django/obsidian/obs/views.py", line 219, in > index > radius=radius, order_by='distance') > > File "/var/www/vhosts/site.com/django/obsidian/obs/data_access.py", line > 551, in search > art_result_count = art_list.count() > > File "/usr/lib/python2.4/site-packages/django/db/models/query.py", line > 296, in count > return self.query.get_count() > > File "/usr/lib/python2.4/site-packages/django/db/models/sql/query.py", line > 237, in get_count > data = obj.execute_sql(SINGLE) > > File "/usr/lib/python2.4/site-packages/django/db/models/sql/query.py", line > 1734, in execute_sql > cursor.execute(sql, params) > > InternalError: current transaction is aborted, commands ignored until end of > transaction block > > The code looks like this: > > if term: > > if pnt: > > art_list = Article.objects.filter(\ > > status='PUBLISHED')\ > > .extra(where=["title_tsv @@ plainto_tsquery(%s)"], > params=[term])\ > > .distance(pnt)\ > .order_by(*order_by) > > else: > > art_list = Article.objects.extra (\ > > where=['title_tsv @@ plainto_tsquery(%s) AND > status=%s'],params=[term,'PUBLISHED'])\ > > .order_by(*order_by) > > elif search_origin: > > try: > > art_list = Article.objects.filter(status='PUBLISHED',\ > > point__distance_lte=(pnt,D(km=radius))).distance(pnt)\ > > .order_by(*order_by) > > except Exception, e: > > raise > > else: > > raise > > The exception comes when I execute the query by getting the count > > art_result_count = art_list.count() > if rows: > art_list = art_list[start:start+rows] --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---