Удалить дубликаты из GoogleAppEngine Model? - PullRequest
4 голосов
/ 05 мая 2011

У меня есть две модели Google App Engine.Я запускал свой cron несколько раз, и теперь в моем хранилище дублируются записи.Если бы было легко просто удалить все мое хранилище данных и снова загрузить мои данные, я бы сделал это.НО это заняло 4 часа, чтобы загрузить в прошлый раз, поэтому мне интересно, есть ли быстрый способ удаления записей с повторяющимися именами в поле «название» в модели?

1 Ответ

3 голосов
/ 05 мая 2011

Быстрая?Вероятно, нет.

Если вы действительно хотите удалить дубликаты, мой подход заключается в написании сценария remote_api.Запросите модель для всех сущностей, отсортируйте по заголовкам и получите пакеты по 100 штук. Сохраните локальный словарь заголовков Python.Если вы встретите новый заголовок, добавьте его в словарь.Если вы встретите известный заголовок, добавьте объект в пакет удаления и сбросьте удаления, прежде чем переходить к следующему пакету запроса.

Вероятно, чрезмерный объем работы, когда вы можете просто стереть свое хранилище данных и повторно-импорт вместо.

...