Я использовал GAE и NDB для проекта. Я просто заметил, что если я создам несколько объектов, а затем получаю список этих объектов, порядок не сохраняется (я использую fetch()
на объекте).Ndb по умолчанию не сохраняет порядок вставки
Это скриншот страницы администратора, который показывает ту же проблему:
как вы может (если он слишком мал here ссылка) см я несколько sessions
. Теперь я создал сеансы, которые имеют имя day
по порядку, от 0 до 7.
Но как вы видите, заказ не сохранился.
Я проверил, и на самом деле keys
не являются инкрементальными. Ни id
(id
должен быть инкрементным, не так ли?), Но в любом случае, а не в этом, я использовал ручной ключ, поэтому не будет id
).
Есть ли способ сохранить порядок вставки? (или это просто странное поведение или это моя плохо?)
PS: если вы хотите взглянуть на код: this является модель сессии, которая проходит this класс я сделал
не получил. где я должен пройти диктофон? – EsseTi
Идентификаторы намеренно выделяются разреженным способом для повышения производительности. Если вам нужно увеличивать ID, вы можете предварительно выделить идентификаторы, а затем управлять их использованием самостоятельно. В документах нет ничего, что подразумевало бы строгий порядок идентификаторов, и я был бы очень удивлен, увидев это поведение. –
, исходящий из «SQL-мира», я подразумевал порядок, мой плохой. – EsseTi