I'm adding a list of objects entries
to a database. Sometimes it may happen that one of this objects is already in the database (I do not have any control on that).
With only one IntegrityError
all the transactions will fail, i.e. all the objects in entries
will not be inserted into the database.
try:
session.add_all(entries)
session.commit()
except:
logger.error(f"Error! Rolling back")
session.rollback()
raise
finally:
session.close()
My desired behavior would be: if there is a IntegrityError
in one of the entries
, catch it and do not add that object to the database, otherwise continue normally (do not fail)
Edit: I'm usign MySQL as backend.