              # trigger a database error inside an inner atomic without savepoint
              with self.assertRaises(DatabaseError):
                  with transaction.atomic(savepoint=False):
                      connection.cursor().execute(
                              "SELECT no_such_col FROM transactions_reporter")
              # prevent atomic from rolling back since we're recovering manually
              self.assertTrue(transaction.get_rollback())
              transaction.set_rollback(False)
              transaction.savepoint_rollback(sid)
          self.assertQuerysetEqual(Reporter.objects.all(), ['<Reporter: Tintin>'])
 
</s> remove                 InternalCertificationAudit._meta.verbose_name_plural,
                'Audits'
 </s> add             InternalCertificationAudit._meta.verbose_name_plural,
            'Audits' </s> remove                 related_modeladmin = self.admin_site._registry.get(
                                                            db_field.rel.to)
 </s> add                 related_modeladmin = self.admin_site._registry.get(db_field.rel.to) </s> remove                     {'name': force_text(opts.verbose_name), 'key': escape(object_id)}
 </s> add                 {'name': force_text(opts.verbose_name), 'key': escape(object_id)} </s> remove                 "<Article: Article 1>",
                "<Article: Article 2>",
 </s> add             "<Article: Article 1>",
            "<Article: Article 2>", </s> remove                 '--boundary',
                'Content-Disposition: form-data; name="name"',
                '',
                'value',
                '--boundary--'
                '']))
 </s> add             '--boundary',
            'Content-Disposition: form-data; name="name"',
            '',
            'value',
            '--boundary--'
            '']))
                        "SELECT no_such_col FROM transactions_reporter")
              # trigger a database error inside an inner atomic without savepoint
              with self.assertRaises(DatabaseError):
                  with transaction.atomic(savepoint=False):
                      connection.cursor().execute(
                        "SELECT no_such_col FROM transactions_reporter")
              # prevent atomic from rolling back since we're recovering manually
              self.assertTrue(transaction.get_rollback())
              transaction.set_rollback(False)
              transaction.savepoint_rollback(sid)
          self.assertQuerysetEqual(Reporter.objects.all(), ['<Reporter: Tintin>'])
keep keep keep keep replace keep keep keep keep keep
 Fixed #21288 -- Fixed E126 pep8 warnings 
tests/transactions/tests.py