作为本地模型管理固件orion实体的django模型

django-orion-model的Python项目详细描述


django应用程序,将Fiware Orion 上下文代理实体作为django模型对象进行管理。

安装

为了输入,只需使用pip

pip install django_orion_model

用法

只需将django_orion_模型添加到您的设置中即可。py:

INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',...'django_orion_model',...]ORION_URL="https://yourorion:1234"ORION_SCOPE="/desiredscope"ORION_EXPIRATION=200//livingtimeoflocalvalues

要定义实体模型,只需在models.py中使用orion entity作为类父定义一个类,并将orion字段用于预期位于上下文代理中的属性。

fromdjango_orion_modelimportOrionEntityiclassWasteManagementStage(OrionEntity):name=OrionCharField("name",max_length=1024,blank=True)description=OrionTextField("description",max_length=1024,blank=True)

Orion Context ContextBroker的可用字段类型:

  • orioncharfield
  • oriontextfield
  • orionfloatfield
  • OrionDateTimefield

orion实体有一个默认字段来管理与orion的通信:

  • context_broker(foreingkey contextbroker):管理实体的orion context contextbroker
  • 服务路径(foreingkey scope):实体所在的服务路径。
  • orion_id(charfield):orion中实体的id。
  • type(charfield):orion中实体的类型。
  • 数据(jsonfield):实体最后已知值的本地存储库。
  • updated(arrayfield charfield):自las连接以来orion字段的名称更新。
  • 过期(DateTimeField):本地数据被视为过时的时间。
  • 状态(字符域):表示通信的预定义文本。期望值:
    • 一切都很好而且是最新的
    • 脱机设置为禁用与Orion的通信
    • 缺失表示Orion 中不存在实体
    • 创建集合以将实体创建到orion中。
    • created表示实体已创建,但is值尚未从orion中提取(临时的)
    • 挂起写入表示实体正在执行到orion的推送(临时)。
    • 挂起读取指示实体正在执行到orion的拉取(临时)。
    • await_refresh拉取失败,实体正在等待新的重试机会。
    • await_重写推送失败,实体正在等待新的重试机会。
  • 错误(textfield):如果连接有问题,则Orion响应存储在此处。

实体行为

实体在创建后、读取orion属性并且到期时间已到、保存到数据库之前和值更新到orion之后,应该从orion中提取值。 设置orion值后,实体应将值推送到orion。

某些状态值强制某些行为:

  • 脱机设置为禁用与Orion的通信
  • 创建集合以将实体创建到orion中。

该图书馆的部分资金来自Waste4Think proyect基金,该基金已收到欧盟Horizon 2020研究和创新计划根据688995号赠款协议提供的资金。 本文结果的传播仅反映了作者的观点,欧盟委员会对其所含信息的任何使用概不负责。

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

推荐PyPI第三方库


热门话题
java Android Studio:我的短信应用程序不是默认短信应用程序的选项之一   java处理字符串问题   java为什么我的程序打印“null”而不是字符串?   java为什么要创建一个无限循环?   java循环在一段时间后将布尔值更改为false?   java Android Rest Api Post 400错误请求   java调用另一个方法以获取resultset并正确关闭连接?   java我想在2d数组中添加一行   Java:我需要从outputstream中获取字节数组   C语言中Java元注释的等价物#   java如何在从web下载图像时保持原始图像的dpi?   java中基于输入值的spring boot动态值   java从请求中获取主机名   java可以复制Swing代码并在intelliJ中的designer中查看它吗   spring如何使用java配置多个ldap   安卓如何在Java中使用具有多个类似参数的JSON请求/响应循环?   java LIbGDX如何在语言更改时翻译所有文本?