"No results to fetch" on save

646 views
Skip to first unread message

Szymon

unread,
Jul 9, 2009, 7:35:40 AM7/9/09
to Django users
Hi,

I'm lost. Maybe someone here will help me:

Model:

class obrazki(models.Model):

obrazek = models.ImageField(upload_to="upload/%y/%m/%d/")
slug = models.SlugField(max_length=200)
tytul = models.CharField(max_length=100)
tagi = TagField(null=True)
data = models.DateTimeField()

Source:

[...]

formularz = fzdjecie(request.POST, request.FILES)

if formularz.is_valid():

o = obrazki(tytul=formularz.cleaned_data['tytul'],
slug=slug(formularz.cleaned_data['tytul']), data=datetime.now(),
tagi=formularz.cleaned_data['tagi'])

o.save()

[...]

Exception:

Traceback (most recent call last):

File "/usr/local/lib/python2.6/site-packages/django/core/handlers/
base.py", line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)

File "/home/pikczur/app/root/glowna.py", line 35, in index
o.save()

File "/usr/local/lib/python2.6/site-packages/django/db/models/
base.py", line 410, in save
self.save_base(force_insert=force_insert,
force_update=force_update)

File "/usr/local/lib/python2.6/site-packages/django/db/models/
base.py", line 495, in save_base
result = manager._insert(values, return_id=update_pk)

File "/usr/local/lib/python2.6/site-packages/django/db/models/
manager.py", line 177, in _insert
return insert_query(self.model, values, **kwargs)

File "/usr/local/lib/python2.6/site-packages/django/db/models/
query.py", line 1087, in insert_query
return query.execute_sql(return_id)

File "/usr/local/lib/python2.6/site-packages/django/db/models/sql/
subqueries.py", line 324, in execute_sql
return self.connection.ops.fetch_returned_insert_id(cursor)

File "/usr/local/lib/python2.6/site-packages/django/db/backends/
__init__.py", line 171, in fetch_returned_insert_id
return cursor.fetchone()[0]

ProgrammingError: no results to fetch

Latest Django trunk, Postgres 8.4.

Best regards,
Szymon

Szymon

unread,
Jul 9, 2009, 8:04:26 AM7/9/09
to Django users
Hi again,

I think I got it... I had "TransactionMiddleware" enabled and
'autocommit' set to True... When I deleted 'autocommit' exception is
gone.

Regards,
Szymon

akaariai

unread,
Jul 9, 2009, 8:15:30 AM7/9/09
to Django users
I just made a post about this on django-developers. The problem is in
psycopg2 creating the query's SQL before it knows the postgresql
version. So, the query is executed without "returning id", but
psycopg2 expects the returning id to be there when in gets the
results... -> problem.

Anssi Kääriäinen
Reply all
Reply to author
Forward
0 new messages