故事一个模型作为一个词典

django-modeldict-yplan的Python项目详细描述


django modeldict

https://img.shields.io/pypi/v/django-modeldict-yplan.svghttps://travis-ci.org/adamchainz/django-modeldict.svg?branch=master

retired:此项目不再维护。i(adam johnson)不再维护 有时间继续保持这一点。我这么做是为了支持 gargoyle-yplan,我的叉子 前雇主Yplan。如果你想赞助日常维护或接管 请自行联系me@adamj.eu

ModelDict是在数据库中存储设置等内容的非常有效的方法。整个模型被转换成字典(懒散地)并存储在缓存中。它只有在需要时才失效(在处理中和基于CACHE_BACKEND)。

它最初是由Disqus创建的,但是由于不活动,我们在yplan接管了这个fork的维护。

要求

使用以下所有组合进行测试:

  • Python:3.6
  • django:1.11、2.0、2.1、2.2

支持Python3.4+。

安装

pip安装它

pip install django-modeldict-yplan

如果要从原来的fork升级到这个fork,请确保首先是pip uninstall django-modeldict包冲突。

示例用法

# You'll need a model with fields to use as key and value in the dictclassSetting(models.Model):key=models.CharField(max_length=32)value=models.CharField(max_length=200)# Create the ModelDict...settings=ModelDict(Setting,key='key',value='value',instances=False)# And you can treat it like a normal dict:# Missing values = KeyErrorsettings['foo']>>>KeyError# Sets supportedsettings['foo']='hello'# Fetch the current value using normal dictionary accesssettings['foo']>>>'hello'# ...or by normal model queriesSetting.objects.get(key='foo').value>>>'hello'

历史记录

待发布

2.0.3(2019-05-17)

  • retired:此项目不再维护。i(adam johnson)不再维护 有时间继续保持这一点。我这么做是为了支持 gargoyle-yplan,我的叉子 前雇主Yplan。如果你想赞助正在进行的维护或接受它 请自行联系me@adamj.eu

2.0.2(2019-04-28)

  • 用django 2.2测试。不需要更改兼容性。

2.0.1(2019-02-15)

  • 没有功能变化。这是版本2.0.0的重新发布,用于修复不可变的 pypi上的元数据,这样python 2上的pip不会只接受python 3 2.x系列。version 2.0.0将于2019-03-01从PYPI中提取。

2.0.0(2019-01-29)

此版本将从pypi中提取,请根据使用版本2.0.1 上面的发行说明。

  • 放弃Python2支持,现在只支持Python3.4+
  • 放下Django 1.8、1.9和1.10支架。现在只支持django 1.11+。
  • 从中删除iteritems()iterkeys()itervalues()方法 ModelDict,并将items()keys()values()移动到python 3 语义,返回迭代器而不是列表。
  • 在控制盘中包含许可证文件。
  • 用django 2.1测试。不需要更改兼容性。

1.5.4(2016-10-28)

1.5.3(2016-09-20)

  • 停止将time.time()舍入到最接近的整数,这样在过期时我们的粒度会更细。它可能 还修复了不必要地重新获取远程缓存时出现的一个微妙的计时错误。

1.5.2(2016-07-31)

  • 修正了当_local_last_updated即使在 未更新
  • 修复了时间比较中整数舍入丢失的更新
  • 修复了CachedDict.__repr__,因此它适用于 {tt14} $比^ {tt1}$(不要假定^ {tT16} $存在)

1.5.1(2016-06-13)

  • 修复了值检查太频繁时从不过期的本地缓存。
  • 使用django的cache.set_many可以获得更高效的存储。

1.5.0(2016-01-11)

  • 伊普兰分岔
  • 修复了线程django服务器的并发toctou错误。
  • 已停止在包中包含“tests”目录
  • 支持django 1.8和1.9。
  • 增加了Python3支持。
  • 修复了setdefault()以返回根据正常dict sem设置/找到的值滑稽动作。谢谢@Olevinsky。

1.4.1(2012-12-04)

  • 由DISPS发布的最新版本

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

推荐PyPI第三方库


热门话题
有没有一种方法可以将不同的java web应用程序组合到一个web应用程序(war)中而不相互影响?   java一次屏蔽两位   java如何在多个类上初始化元素?   java在后台服务中处理通知或使用GCM(或其他推送通知服务)   java从const方法调用JNI函数   javascript如何使用函数/方法返回?   Java优化:声明类变量与使用临时变量   java字符算术基数8 vs基数10   Java流收集要存储的对象列表   swing我正在用Java中的keyListener制作一个精灵移动器   在Gradle构建脚本中使用Scala(或java)方法   java Android Mediaplayer下一步按钮不起作用   Java Sound API在播放音频文件后将其锁定   java将变量从外部类传递到内部类的最佳方法   使用play framework的博客web应用程序出现java逻辑错误   java我们可以在Spring批处理中处理大型zip文件吗?   java如何检查JTable的选定行的特定列中的值是否已经在JList中?