当我使用端点时,我从protorpc
得到了一些奇怪的错误。在这段代码中:
class Application(EndpointsModel):
_message_fields_schema = ('id', 'name')
created = ndb.DateTimeProperty(auto_now_add=True)
name = ndb.StringProperty()
roles = ndb.IntegerProperty(repeated=True)
updated = ndb.DateTimeProperty(auto_now=True)
owner = ndb.KeyProperty(kind='User')
@API.api_class(resource_name="application")
class ApplicationApi(protorpc.remote.Service):
@Application.method(http_method="GET",
request_fields=('id',),
name="get",
path="applications/{id}")
def ApplicationGet(self, instance):
if not instance.from_datastore:
raise endpoints.NotFoundException("Application not found.")
return instance
@Application.query_method(http_method="GET",
query_fields=('limit', 'order', 'pageToken'),
name="list",
path="applications")
def ApplicationList(self, query):
return query
当我致电application.get()
时,错误如下:(full trace here):
TypeError:只能从确切类型为Application的实体进行复制。收到了应用程序实例。
并且调用application.list()
错误如下:(full trace here):
ValidationError:字段项的预期类型
<class '.Application'>
,找到<Application name: u'test'>
(类型<class '.Application'>
)
可能导致这种情况的原因是什么?我的其他模型具有几乎相同的代码(只是不同的属性)可以正常工作。
答案 0 :(得分:1)
子类class JsonModel(EndpointsModel)
,让它重新开始工作。