Django 3.1 已經發布。此版本亮點包括:
要開始使用非同步檢視,需要宣告一個檢視 :async def
async def my_view(request):
await asyncio.sleep(0.5)
return HttpResponse('Hello, async world!')
無論是在 WSGI 還是 ASGI 模式下執行,都支援所有非同步功能。但是,在 WSGI 模式下使用非同步程式碼會導致效能下降。Django 的 ORM、快取層和其它長時間執行網路呼叫的程式碼尚不支援非同步訪問。
from django.db import models
class ContactInfo(models.Model):
data = models.JSONField()
ContactInfo.objects.create(data={
'name': 'John',
'cities': ['London', 'Cambridge'],
'pets': {'dogs': ['Rufus', 'Meg']},
})
ContactInfo.objects.filter(
data__name='John',
data__pets__has_key='dogs',
data__cities__contains='London',
).delete()
詳情檢視釋出公告:
https://www.djangoproject.com/weblog/2020/aug/04/django-31-released
[admin
]