首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python endpoints_proto_datastore列表数据

Python endpoints_proto_datastore列表数据
EN

Stack Overflow用户
提问于 2015-01-03 15:14:15
回答 1查看 96关注 0票数 0

我试图使用endpoints_proto_datastore为我的应用程序引擎应用程序创建一些端点,因为urls返回了一些内容,但不是我所期望的。

这是我知道的代码,我知道有些导入是不需要的,但它们是临时的

模型文件

代码语言:javascript
复制
import endpoints
from google.appengine.ext import db
import webapp2
from endpoints_proto_datastore.ndb import EndpointsModel

class Estate(EndpointsModel):
    hicid = db.IntegerProperty()
    name = db.StringProperty()
    address= db.PostalAddressProperty()
    contact_phone = db.PhoneNumberProperty()
    contact_name = db.StringProperty()
    contact_email = db.EmailProperty()
    location = db.GeoPtProperty()
    created = db.DateTimeProperty(auto_now_add=True)
    updated = db.DateTimeProperty(auto_now=True)

API文件

代码语言:javascript
复制
import endpoints
from google.appengine.ext import ndb
from protorpc import remote

from endpoints_proto_datastore.ndb import EndpointsModel
from models.estate import *

@endpoints.api(name = 'raceManagerAPI', version = 'v1', description = 'An api for access to important data')
class raceManagerAPI(remote.Service):

    @Estate.query_method(path = 'estates', name = 'estate.list')
    def EstateList(self, query):
        return query

app.yaml文件

代码语言:javascript
复制
application: yellow-fox
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /assets
  static_dir: assets

- url: /signup
  script: main.app
  secure: always

- url: /login
  script: main.app
  secure: always

- url: /forgot
  script: main.app
  secure: always

# Endpoints Api
- url: /_ah/spi/.*
  script: main.application

- url: .*
  script: main.app

libraries:
- name: webapp2
  version: "2.5.1"
- name: jinja2
  version: latest
- name: endpoints
  version: latest

main.py文件包含以下内容

代码语言:javascript
复制
application = endpoints.api_server([raceManagerAPI], restricted=False)

这就是我从api资源管理器得到的信息。

代码语言:javascript
复制
{
 "kind": "raceManagerAPI#estateItem",
 "etag": "\"hx0GGGqNWMq76QilvaW15fvq6DI/taVVBKufuJZtJ6w1S7kF6sHCh4M\""
}

我所期待的是一个项目列表,有人能告诉我哪里出错了,文档并没有给我太多的想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-03 17:43:41

我相信您的问题来自于在这里使用旧式 db

代码语言:javascript
复制
from google.appengine.ext import db

并且在Estate的各种属性中,例如:

代码语言:javascript
复制
name = db.StringProperty()

相反,您必须使用new style ndb,将这两行分别更改为:

代码语言:javascript
复制
from google.appengine.ext import ndb

以及:

代码语言:javascript
复制
name = ndb.StringProperty()

现在,在ndb中您将找不到PostalAddressProperty &c,所以您需要修复这些问题。但是,总的想法是:总是使用 _而不是_ db**。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27756282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档