Не могу получить производственные результаты в БД, используя Google app engine remote_api - PullRequest
0 голосов
/ 25 апреля 2010

Эй, я пытаюсь поработать с / remote_api с приложением для движка приложения django-patch, которое я запустил.

Я хочу выбрать несколько строк в моем онлайн-приложении.

Кажется, мне не удается это сделать, все аутентифицируется нормально, импорт не прерывается, но когда я пытаюсь получить что-то, он просто ничего не печатает. Поместил тестовый питон в директорию моего локального приложения.

#!/usr/bin/env python
#
import os
import sys

# Hardwire in appengine modules to PYTHONPATH
# or use wrapper to do it more elegantly
appengine_dirs = ['myworkingpath']
sys.path.extend(appengine_dirs)
# Add your models to path
my_root_dir = os.path.abspath(os.path.dirname(__file__))
sys.path.insert(0, my_root_dir)

from google.appengine.ext import db
from google.appengine.ext.remote_api import remote_api_stub
import getpass


APP_NAME = 'Myappname'
os.environ['AUTH_DOMAIN'] = 'gmail.com'
os.environ['USER_EMAIL'] = 'myuser@gmail.com'

def auth_func():
 return (raw_input('Username:'), getpass.getpass('Password:'))

# Use local dev server by passing in as parameter:
# servername='localhost:8080'
# Otherwise, remote_api assumes you are targeting APP_NAME.appspot.com
remote_api_stub.ConfigureRemoteDatastore(APP_NAME,
 '/remote_api', auth_func)

# Do stuff like your code was running on App Engine
from channel.models import Channel, Channel2Operator

myresults = mymodel.all().fetch(10)
for result in myresults:

 print result.key()

не выдает никакой ошибки и ничего не печатает. так же пример консоли remote_api, который получил Google. когда я печатаю свои результаты, я получаю [].

1 Ответ

2 голосов
/ 26 апреля 2010

Патч App Engine monkeypatches модуль ext.db, искажая добрые имена. Вам необходимо убедиться, что вы импортируете патч App Engine из своего скрипта, чтобы дать ему возможность все исправлять как обычно, иначе вы не увидите никаких возвращаемых данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...