kelevra1493: Быстрее всего у вас файл миграций не стыкуется с вашей базой. Попробуйте удалить базу и файлы миграций, и выполнить команды makemigrations, migrate заново
Вячеслав Грачунов: ну дык - запустить в броузере консоль разработчика. Зайти броузером и глянуть что ваш броузер в заголовках передает. Подставить такие же значения. Там может быть к примеру реферер, и прочие заголовки, которые сервер отслеживает. Что именно ваш броузер передает - нужно смотреть конкретно в вашем случае.
Владимир Куц
@fox_12 Автор вопроса, куратор тега Django
Anatoly Scherbakov: да - я тоже уже склоняюсь к подобному решению, - единственно много кода перелопатить придется, но похоже - пока это самое оптимальное.
valent_in_habrahabr: нет - за счет отступов не удастся, поскольку нет никакой гарантии в том, что в коде, в котором ошибки с балансом скобок, не будет ошибок с отступами.
Вы чрезмерно усложняете задание до уровня, который не имеет четкого алгоритмического решения.
Проверьте баланс по алгоритму, который вам уже привели. Хотите усложнения - исключите закомментированные участки кода, и комментарии где могут встречаться эти ключевые слова.
valent_in_habrahabr: навскидку - забивать паттерны проектирования, примеры кодов. Обучать нейронную сеть. Тогда ваш код будет с какой-то вероятностью предсказывать где пропущен закрывающий тег. Но это баловство больше... Пока в плане мышления и исправления ошибок допущенных в коде человеком, компьютеру до человека далеко. Компьютер способен разве что помочь в частностях - вроде приведенной балансировки скобок.
Владимир Куц
@fox_12 Автор вопроса, куратор тега Django
Перехватываю я вовремя. Дело в том что объекты сильно развесистые - на несколько десятков полей, полиморфные - в зависимости от типа имеют разную структуру. Плюс к тому имеют поля с переводами на разные языки. Этот участок кода выливается в головняк:
# Now, creating a new branch (with new IDs) at the destination node
root = MyModel.objects.create(parent=new_parent, ...)
[MyModel.objects.create(...) ...]
Поэтому моя задумка - перемещать ветку, а на ее место вставлять ветку-заглушку из нод, в которых будет только статус "удалено" и время удаления с сохранением топологии - старые id и старые связи на родительские ноды. Контент не нужен - он в перемещенной ветке. Засада пока только в том, что при перемещении ветки ее айдишники старые остаются, а у ветки заглушки-новые. А нужно наоборот.
iegor: попробуйте запускать скрипт с опцией python -u для того чтобы сделать ввод с stdin небуфферизированным. Ну а там - декодировать на лету, если необходимо -
for line in iter(lambda: sys.stdin.readline().decode('utf-8'), ''):
....
iegor: ну так и напишите - что именно вы хотите от кода в Python 2 и в чем у вас сложность возникла. Различия между ними есть, так как собственно реализация их различна, поэтому нужно лепить какой-то костыль. Поддержку юникода? Ну так перекодируйте входящий поток. В python 2 он работает в binary mode.