ndb.model子类的自动protorpc消息类型(仅限google应用程序引擎)

automessage的Python项目详细描述


automessage是一个库,可以帮助您快速创建基于protorpc的web服务,这些服务可以进行交互 使用ndb模型(google云数据存储)自动生成Messagendb.Model子类,以及简单的序列化/反序列化。

注意事项

  • 这是相当粗糙的,α级代码。有很多事情要做。使用风险自负。
  • 这只适用于google app engine标准环境+python,protorpcndb 图书馆。

安装

Follow this guide 将automessage作为应用程序引擎python应用程序的第三方库安装;使用pip命令 你想要的是:

pip install -t lib/ automessage

用法

首先,在您的ndb.Model子类上使用@automessage.attach装饰符:

fromgoogle.appengine.extimportndbimportautomessage@automessage.attach()classBook(ndb.Model):title=ndb.StringProperty()author=ndb.StringProperty()publish_date=ndb.DateTimeProperty(indexed=True)

这将在同一个模块中生成一个类BookMessage(一个protorpc.messages.Message的子类) 作为Book类,您可以在基于protorpc的服务中使用它,例如:

classBooksService(remote.Service):classFindRequest(messages.Message):title=messages.StringField(1,required=True)@remote.method(FindRequest,BookMessage)deffind(self,request):return(Book.query(Book.title==request.title).to_message())# to_message() added by automessage@remote.method(BookMessage,BookMessage)defcreate(self,request):book=Book.from_message(request)# from_message() added by automessagebook.put()returnbook.to_message()

attach接受几个参数(详细信息请参见代码),这些参数允许您自定义 生成的消息类,转换为驼峰大小写,添加id字段,黑名单/白名单属性, 等等,您可以用多个attach调用(使用不同的参数)装饰模型来创建 给定模型的多个消息类型。这样做时,您需要提供消息类型 在to_message调用中,例如book.to_message(CustomBookMessage)

相关工作

  • Protopigeon是一种几乎完全相同的老方法,具有稍微不同的api和更好的测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java类。getResource和ClassLoader。getSystemResource:有没有理由选择其中一个而不是另一个?   在Java中以编程方式粘贴后恢复剪贴板   Java字符串到日期没有时间   JavaSpring注释:@Component起作用,@Repository不起作用   java“addScript”在HSQL中是否有最大记录计数?   java如何将值从JDialog框返回到父JFrame?   java我的模块库的用户有没有办法访问尚未导出的类?   java javac:未找到命令   java如何解决jsoup错误:无法找到请求目标的有效证书路径   类中的java作用域变量   Java中集合实现中的arraylist add()方法不起作用   java如何使用while循环和从用户接收输入来近似Pi?   java Spring安全CSRF培训模式   在安卓系统中,如何通过在警报框外单击来限制用户?