Я пытаюсь скопировать модели с одного объекта на другой, сохраняя их автогенерированный идентификатор. Я использую следующий код:«Превышено максимальное количество выделенных идентификаторов» в производстве GAE
key = db.Key.from_path('TargetEntity', source.key().id())
db.allocate_id_range(app, start = source.key().id(), end = source.key().id())
TargetEntity(key = key).put()
Это прекрасно работает в dev_appserver
, но при запуске этого производства, allocate_id_range
броски «превышает максимально выделены идентификаторы». Идентификатор, который он пытается выделить, равен 5093058741796864L
.
Другие проблемы в StackOverflow, упоминающие об этом, либо начали использовать их собственный генератор идентификаторов (что не является решением), либо, похоже, из-за проблемы с необычно высокими идентификаторами из нескольких лет назад с новым генератором идентификаторов (который не похоже, больше применяются).
У меня возникли проблемы с создаваемыми вручную идентификаторами, когда я использовал 'db', но они ушли, когда я переключился на' ndb'. Это хорошая идея переключиться на 'ndb' в любом случае. –