微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

简单/智能,Pythonic数据库解决方案,可以使用Python类型语法吗? (键/值字典,数组,可能是有序字典)

寻找解决方案,以及:

避免

>手动编写SQL查询(Python可能更多OO不通过DSL字符串)
>将非Python数据类型用于所需的模型定义
>使用新类型而不是完美的原生Python类型

>使用Python对象
>使用面向对象和基于密钥的检索和创建
>快速原型设计
>没有sql
>模型/类型推断或没有模型
>输入更少的行和字符

轻松输出输出JSON,可能是XML甚至是协议缓冲区.

我做网络,桌面和移动软件开发,因此越便携越好.

python
>> from someAmazingDB import *

>> db.taskList = []

>> db['taskList'].append({title:'Beat old sql interfaces','done':False})
>> db.taskList.append({title:'Illustrate different Syntax modes','done':True})

#at this point it should autosave
#we should be able to reload the console and access like:
python
>> from someAmazingDB import *
>> print 'Done tasks'
>> for task in db.taskList:
>>     if task.done:
>>         print task
'Illustrate different Syntax modes'

这是一个挑战:上面的代码应该只需要很少的修改或思考.就像一个不同的导入语句,也许更多,但Django模型和sqlAlchemy不要削减它.

我正在寻找更多有趣的图书馆建议而不仅仅是“尝试搁置”或“使用泡菜”

我并不反对将Python类用于模型,但它们应该非常直接,不像你用Django和类似的东西.

解决方法:

我今天早些时候正在做类似这样的事情.目前还没有自述或足够的测试,但是…… http://github.com/mikeboers/LiteMap/blob/master/litemap.py

LiteMap类的行为与内置字典非常相似,但它仍然存在于sqlite数据库中.您没有说明您感兴趣的特定数据库,但这几乎可以简单地修改为任何后端.

它也不跟踪可变类的更改(例如,在示例中附加到列表中),但API非常简单.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐