Я использую LayerMapping для добавления шейп-файла в базу данных. Вот код, который я использую. Размер шейп-файла составляет ~ 100 МБ, поэтому необходимо добавить несколько полигонов.
mapping = {'name': 'OBJECTID', 'poly': 'POLYGON'}
lm = LayerMapping(TestGeo, 'toronto geo/PROPERTY_BOUNDARIES_WGS84.shp', mapping)
lm.save(verbose=True)
После запуска приведенного выше кода я вижу около 10 секунд сообщений об успехе, показывающих что-то вроде Saved: 'name': 12345
. Затем через 10 секунд сообщения превращаются в:
Failure to save: {'name': 12345, 'poly': (....)}: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block.
Он продолжает работать после отображения сообщения об ошибке (полагаю, он переместился на следующий объект многоугольника). После прохождения каждого полигона, несмотря на тот факт, что первые пара сотен или около того полигонов показали сообщение об успехе, ни один из полигонов из шейп-файла не был сохранен.
Я столкнулся с аналогичной ошибкой , но содержание, похоже, не связано.
Есть идеи, почему это происходит?