firestore的ORM

firestore-orm的Python项目详细描述


火库ORM

Firestore ORM是一个添加对Firestore对象的支持的模块 应用程序的关系映射。它需要firebase管理员 2.16.0或更高。Firestore旨在简化收藏 对象,方法是提供有用的默认值和额外的辅助对象 更容易完成一般任务。在

概述

Firestore ORM提供以下关键功能:

  • 对象模型-以python对象的形式创建模型。在
  • 查询-轻松执行firestore查询。在
  • 关系-连接文档的SQL外键概念。在

用法

在下面的段落中,我将描述你如何获得 将Firestore ORM用于您自己的项目。在

得到它

要下载Firestore ORM,要么派生这个github repo,要么简单地使用 通过pip的Pypi。在

$ pip install firestore_orm

创建模型

^{pr2}$

操作

>>>pet=Pet(name='Katty')>>>pet.id>>>'26b353d6-f5a1-4a38-b61a-b9371de5b92f'>>>pet.save()# save to firestore>>>person=Person(name='Chuck',pet_id=pet.id)>>>person.name>>>'Chuck'>>>person.surname# >>> None>>>person.populate(surname='Norris',age=20)>>>person.surname>>>'Norris'>>>person.name>>>'Chuck'>>>person.id>>>'1286f8ae-710f-4fb7-a804-31fbed525390'>>>person.save()# save to firestore>>>Person.query.fetch()>>>[Person(created_at=datetime.datetime(2019,3,24,13,57,21,761746),name='Chuck',surname='Norris',age=20,pet_id='26b353d6-f5a1-4a38-b61a-b9371de5b92f',id='1286f8ae-710f-4fb7-a804-31fbed525390')]>>>Person.query.get('1286f8ae-710f-4fb7-a804-31fbed525390')>>>Person(created_at=datetime.datetime(2019,3,24,13,57,21,761746),name='Chuck',surname='Norris',age=20,pet_id='26b353d6-f5a1-4a38-b61a-b9371de5b92f',id='1286f8ae-710f-4fb7-a804-31fbed525390')>>>person=Person.query.get('1286f8ae-710f-4fb7-a804-31fbed525390')>>>person.pet>>>'Pet(created_at=datetime.datetime(2019, 3, 24, 13, 57, 21, 761746), name='Katty', id='26b353d6-f5a1-4a38-b61a-b9371de5b92f')'

过滤器

可以使用以下函数筛选查询结果

>>>Person.query.fetch(filters=[('name','==','Chuck'),('age','<=',20)])>>>[Person(created_at=datetime.datetime(2019,3,24,13,57,21,761746),name='Chuck',surname='Norris',age=20,pet_id='26b353d6-f5a1-4a38-b61a-b9371de5b92f',id='1286f8ae-710f-4fb7-a804-31fbed525390')]

订购依据

也可以对查询结果排序。如果出现索引错误,请按照链接在firebase上构建索引

>>>Person.query.fetch(order_by={"population":'DESCENDING'})# orders query by DESCENDING order: set to `ASCENDING` for ascending order

你准备好了!在

版权所有(c)2019 Benjamin Arko Afrasah

根据Apache许可证2.0版(“许可证”)授权;您可以 除非符合许可证,否则不要使用此文件。你可以得到 许可证副本

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意 根据许可证分发的是“按原样”分发的, 没有任何明示或暗示的保证或条件。 有关管理权限和的特定语言,请参阅许可证 许可证下的限制。在

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

推荐PyPI第三方库


热门话题
java检查服务器端广告查看(php)   Java将注释的使用限制在某些类型的方法上?   java使用gson重用顶级模型   当Java Spring作为Docker容器运行时,它不会与Concur对话   通过Java在不使用新URL()的情况下加载文件   Dicom4che调用的java结果不显示umlaut字符   java Updatea使用php/codeigniter使用ajax/javascript映射标记   Java8中的javaspringboot@ExceptionHandler未被访问   java如何读取长度未知的用户输入?   EclipseJava在MacBook和OSX上的性能非常差,而在Windows下在同一个单元上的性能就不那么差了,为什么?   java在Lucene查询语法中与+有什么区别   使用Spark和Cassandra Java驱动程序时检测到番石榴问题#1635   java工具栏标题未显示在选项卡式活动中