Где код выкачивает? Вы говорите, что он не будет исполнять вообще ? даже не записывать операторы на первой строке? или вы говорите, что ожидаемые изменения не вносятся в БД?
Я пытался воссоздать вашу ситуацию с помощью различных теорий, но не могу воспроизвести проблему. Не могли бы вы подробнее описать, в чем проблема? Попробуйте сделать pdb.set_trace (), покопайтесь и расскажите нам немного подробнее:)
Поскольку вы не предоставили исключение, вам нужно предоставить больше информации о том, что не так.
PS: я читаю твой код, но его очень сложно прочитать! Классы выглядят как экземпляры, которые выглядят как переменные ... На первый взгляд, это идет вразрез с соглашениями о кодировании для Python, как вы можете увидеть с помощью подсветки синтаксиса, считая, что ваши CapitalizedObjects являются классами.
Похоже, вы сохраняете основной объект, меняете его ссылочное имя несколько раз, затем сохраняете его снова, а затем удаляете! Здесь происходят очень запутанные вещи ...
Вот что я вижу ...
RevisedProvider - это тот же экземпляр, что и obj.
RevisedProvider = Provider.objects.get(id=obj.id)
Затем вы назначаете RevisedProvider для OldProvider и вызываете save()
для этого, который является тем же экземпляром, что и obj (2 сохранения).
В конце вы удаляете RevisedProvider.delete()
, который является объектом, который вы редактируете.
Когда я пытаюсь воспроизвести этот код и удалить экземпляр, который я редактирую, django выдает ошибку ValidationError.
Ооо, нам нужна дополнительная информация, чтобы помочь. Где другие странности?