I got a lot of errors with the message :
"DatabaseError: current transaction is aborted, commands ignored until end of transaction block"
after changed from python-psycopg to python-psycopg2 as Django project's database engine.
The code remains the same, just don't know where those errors are from.
This is what postgres does when a query produces an error and you try to run another query without first rolling back the transaction. (You might think of it as a safety feature, to keep you from corrupting your data.)
To get rid of the error, roll back the last (erroneous) transaction after you've fixed your code:
from django.db import transaction transaction.rollback()
You can use try-except to prevent the error from occurring:
from django.db import transaction, DatabaseError try: a.save() except DatabaseError: transaction.rollback()
Refer : Django documentation