Django Queices集可以被扭曲感知。在自定义管理器和queryset上添加几个返回deferreds/coroutine/future的方法。
djangotworm的Python项目详细描述
django orm+twisted+asyncio-blocking这是一个库,它包含一个自定义queryset和一个自定义管理器,该管理器添加了内省功能以使用twisted数据库api而不是django。它返回延迟(未来或协同)而不是只访问数据库。
从v0.6开始:
——
——
-添加了对django_bulk_update的支持(github.com/aykut/django bulk update)
——
——
——动态替换模型实例保存方法,现在你可以:
`` python
wawawawawawawawawawait obj.save()
````
自0.3-0.4版以来:
——
——
——
——
——
——
——
——
——
——
——
——改名为“twisted django orm”的软件包;
-python 3.5.2.2+现在是必需的;
——
——-使用异步技术避免“回调地狱”;
;
——
——
——
——
-你仍然可以获得推迟;
-有一些未经测试的情况;
要安装:
----
需要python 3.5.2+
1。pip安装twango
2。导入并将管理器设置为任何模型的管理器(请参见示例)
3。在twisted和asyncio的顶部使用它,这将防止在使用django orm时阻塞orm!
important
——
不以异步方式生成作业,而是进入线程,不执行阻塞主反应器。
示例352+:
——
``python
print(q)
b=await operation.twisted.all().fetch()
print(b[5])
在操作中。twisted.all()。order_by('cell','status'):
打印(x.price,x.status,x.cell)
异步x in operation.twisted.all()。order_by('cell','status')[:5]:
打印(x.price,x.status,x.cell)
x=等待操作。twisted.get(price=3000,status=1,
print(x)
>p=wawawait operation.twisted.count()
>print(p)
>x,create=wawawait operation.twisted.update或创建(默认值为{'cell':11,'price':333},price=1,status=1,cell=1,cell=25)
print(x)
print(x)print=wawait operation.twisted.get或创建(price=27,status=1,status=1,cell=11,cell=11)
>print(x)
<>```
示例(旧版):
--
您可以创建单独用于扭曲进程的模型:
``python
来自twango的myapp import book
。manager import twistedmanager
来自django.db.models.manager import manager
class twistedbook(book):
objects=manager()
twisted=twistedmanager()
类meta:
app戋label='myapp'
proxy=true
````
从v0.6开始:
——
——
-添加了对django_bulk_update的支持(github.com/aykut/django bulk update)
——
——
——动态替换模型实例保存方法,现在你可以:
`` python
wawawawawawawawawawait obj.save()
````
自0.3-0.4版以来:
——
——
——
——
——
——
——
——
——
——
——
——改名为“twisted django orm”的软件包;
-python 3.5.2.2+现在是必需的;
——
——-使用异步技术避免“回调地狱”;
;
——
——
——
——
-你仍然可以获得推迟;
-有一些未经测试的情况;
要安装:
----
需要python 3.5.2+
1。pip安装twango
2。导入并将管理器设置为任何模型的管理器(请参见示例)
3。在twisted和asyncio的顶部使用它,这将防止在使用django orm时阻塞orm!
important
——
不以异步方式生成作业,而是进入线程,不执行阻塞主反应器。
示例352+:
——
``python
print(q)
b=await operation.twisted.all().fetch()
print(b[5])
在操作中。twisted.all()。order_by('cell','status'):
打印(x.price,x.status,x.cell)
异步x in operation.twisted.all()。order_by('cell','status')[:5]:
打印(x.price,x.status,x.cell)
x=等待操作。twisted.get(price=3000,status=1,
print(x)
>p=wawawait operation.twisted.count()
>print(p)
>x,create=wawawait operation.twisted.update或创建(默认值为{'cell':11,'price':333},price=1,status=1,cell=1,cell=25)
print(x)
print(x)print=wawait operation.twisted.get或创建(price=27,status=1,status=1,cell=11,cell=11)
>print(x)
<>```
示例(旧版):
--
您可以创建单独用于扭曲进程的模型:
``python
来自twango的myapp import book
。manager import twistedmanager
来自django.db.models.manager import manager
class twistedbook(book):
objects=manager()
twisted=twistedmanager()
类meta:
app戋label='myapp'
proxy=true
````