2012-05-31 3 views
0

Я использую Python 1.6.6 SDK и имеющие проблемы при получении поиска API для инициализации нового документа:Google App Engine Python Ошибка API поиска документов

from google.appengine.api import search

def index_document(document_id, some_string): 
    return search.Document(
     doc_id=document_id, 
     fields=[ 
      search.TextField(name='text_field', value=some_string), 
      search.DateField(name='date', value=datetime.now().date()) 
     ]) 

В ответ я получаю :

AttributeError: type object 'search' has no attribute 'Document' 

Я не вижу каких-либо доказательств того, что это общая проблема, и все документы указывают на это время процедура инициализации документа.

Однако, если поместить вызов API в функции он выполняет, как ожидалось:

def index_document(document_id, some_string): 

    from google.appengine.api import search 

    return search.Document(... 

Я не вижу никаких причин, почему это будет работать, но глобальный импорт будет не так как я ввожу ряд их API. У кого-нибудь была аналогичная проблема/успех в том, чтобы заставить его работать?

+0

Глобальный импорт должен работать нормально, и с вашим кодом ничего не происходит. Вы определенно используете 1.6.6. SDK? (Дает ли сам импорт импорт?) Есть ли вероятность, что то, что вы намерены использовать в качестве глобального импорта, на самом деле более локально ограничено? –

+0

Doh !!! У меня был webapp.RequestHandler с именем search! Переименование этого разрешило проблему. – notreadbyhumans

ответ

0

Убедитесь, что у вас нет других объектов с тем же именем.

Смежные вопросы