id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 20588 TypeError: 'NoneType' object has no attribute '__getitem__' in fetch_returned_insert_id function tazo90@… tazo90 "{{{ Traceback (most recent call last): File """", line 1, in File ""C:\Python27\lib\site-packages\django\db\models\manager.py"", line 137, in create return self.get_query_set().create(**kwargs) File ""C:\Python27\lib\site-packages\django\db\models\query.py"", line 377, in create obj.save(force_insert=True, using=self.db) File ""C:\Python27\lib\site-packages\django\db\models\base.py"", line 463, in save self.save_base(using=using, force_insert=force_insert, force_update=force_update) File ""C:\Python27\lib\site-packages\django\db\models\base.py"", line 551, in save_base result = manager._insert([self], fields=fields, return_id=update_pk, using=using, raw=raw) File ""C:\Python27\lib\site-packages\django\db\models\manager.py"", line 203, in _insert return insert_query(self.model, objs, fields, **kwargs) File ""C:\Python27\lib\site-packages\django\db\models\query.py"", line 1593, in insert_query return query.get_compiler(using=using).execute_sql(return_id) File ""C:\Python27\lib\site-packages\django\db\models\sql\compiler.py"", line 914, in execute_sql return self.connection.ops.fetch_returned_insert_id(cursor) File ""C:\Python27\lib\site-packages\django\db\backends\__init__.py"", line 548, in fetch_returned_insert_id return cursor.fetchone()[0] TypeError: 'NoneType' object has no attribute '__getitem__' }}} It happened when I was trying to use plpgsql trigger from custom sql that returned NULL. The error means we tried to do something like None[0]. In the backtrace, it says return cursor.fetchone()[0], which means that your cursor.fetchone() is None. Fix code, you have to change: {{{return cursor.fetchone()[0]}}} from C:\Python27\lib\site-packages\django\db\backends\__init__.py"", line 548, in fetch_returned_insert_id to: {{{ res = cursor.fetchone() if res: return res[0] else: return None }}} After that change, everything is working. " Bug closed Database layer (models, ORM) 1.4 Normal invalid psycopg2, fetch_returned_insert_id tazo90@… Unreviewed 0 0 0 0 0 0