Ticket #10215: 10215-loaddata-valid-commit-r1.patch

File 10215-loaddata-valid-commit-r1.patch, 2.7 KB (added by MockSoul, 6 years ago)

fixup (r1).

  • django/core/management/commands/loaddata.py

    === modified file 'django/core/management/commands/loaddata.py'
     
    103103                sys.stderr.write(
    104104                    self.style.ERROR("Problem installing fixture '%s': %s is not a known serialization format." %
    105105                        (fixture_name, format)))
    106                 transaction.rollback()
    107                 transaction.leave_transaction_management()
     106                if commit:
     107                    transaction.rollback()
     108                    transaction.leave_transaction_management()
    108109                return
    109110
    110111            if os.path.isabs(fixture_name):
     
    136137                                fixture.close()
    137138                                print self.style.ERROR("Multiple fixtures named '%s' in %s. Aborting." %
    138139                                    (fixture_name, humanize(fixture_dir)))
    139                                 transaction.rollback()
    140                                 transaction.leave_transaction_management()
     140                                if commit:
     141                                    transaction.rollback()
     142                                    transaction.leave_transaction_management()
    141143                                return
    142144                            else:
    143145                                fixture_count += 1
     
    158160                                except Exception:
    159161                                    import traceback
    160162                                    fixture.close()
    161                                     transaction.rollback()
    162                                     transaction.leave_transaction_management()
     163                                    if commit:
     164                                        transaction.rollback()
     165                                        transaction.leave_transaction_management()
    163166                                    if show_traceback:
    164167                                        traceback.print_exc()
    165168                                    else:
     
    176179                                    sys.stderr.write(
    177180                                        self.style.ERROR("No fixture data found for '%s'. (File format may be invalid.)" %
    178181                                            (fixture_name)))
    179                                     transaction.rollback()
    180                                     transaction.leave_transaction_management()
     182                                    if commit:
     183                                        transaction.rollback()
     184                                        transaction.leave_transaction_management()
    181185                                    return
    182186
    183187                        except Exception, e:
Back to Top