Модель NDB содержит два свойства: email
и password
. Как избежать добавления в базу данных двух записей с тем же email
? NDB не имеет опции UNIQUE для свойства, как это делают реляционные базы данных.Сохранение уникальности свойства в базе данных NDB
Проверка, что новый email
не в базе данных, прежде чем добавлять — не удовлетворит меня, потому что две параллельные процессы могут оба одновременно выполнять проверку и каждый добавить тот же email
.
Я не уверен, что здесь могут помочь транзакции, я испытываю такое впечатление после прочтения некоторых руководств. Возможно, синхронных транзакций? Означает ли это одно за раз?
Использование get_or_insert() Я не буду уверен: либо я добавил новую запись, либо у меня есть существующая. – Graduate
изменение электронной почты будет болью в ** ... или лучше .. невозможно :) Так что для писем это нехорошее решение. – Lipis
@ Graduate yes должно быть 'key_a' исправлено это. –