Использование key (). Id () в хранилище данных GAE и обратное геокодирование - PullRequest
1 голос
/ 22 апреля 2010

У меня 6000 данных района, подрайона. Мне нужно представить это в зависимости от выпадающего списка. Модель данных, например;

class Location(db.Model):
    location_name = db.StringProperty()
    //location_parent = db.IntegerProperty()
    location_parent = db.ReferenceProperty() //

location_parent - это ссылка на key () или id ()? Все еще не могу решить, какой из них хорош. Когда я использую key () в качестве ссылки, то использую JSON для создания зависимого от jquery выпадающего списка. Моя страница загружается / запрос и время рендеринга довольно медленно? Могу ли я использовать key (). Id () в качестве выпадающего значения параметра, чтобы облегчить загрузку страницы? Есть ли лучшее решение для этой родительской / дочерней ссылки для выпадающего списка? Например: для записи / субъекта округа указатель местоположения является нулевым, для записи подрайона location_name будет содержать ссылку на запись родительского округа.

Другая проблема заключается в обратном геокодировании местоположения для хранения или отображения географической точки (широта, долгота)? Всегда ли API Google MAP находит точный широту, длину границ конкретного региона или какую-либо проверку ошибок для результата?

1 Ответ

0 голосов
/ 23 апреля 2010

У вас есть несколько разных вопросов, но вашей основной схемы, вероятно, недостаточно. Не следует использовать строковые или целочисленные свойства для хранения ссылки на другую сущность хранилища данных. Это то, для чего предназначен db.ReferenceProperty. После того, как вы сохранили правильную ссылку на другую сущность хранилища данных, вы можете легко ссылаться на key (), key (). Name () или key (). Id (), а также искать сущность, используя. get (), .get_by_key_name () и .get_by_id ().

...