python 使用Django 4.2和adelete()从数据库中异步删除

bkhjykvo  于 2023-05-05  发布在  Python
关注(0)|答案(1)|浏览(127)

从v4.2开始,Django提供了异步版本的删除方法adelete()。但是我不明白如何使用它从DB中删除对象。

db_object = await DbModel.objects.aget(pk=module_id)
await db_object.adelete() # doesn't work

它失败并返回错误:"AttributeError: 'DbModel' object has no attribute 'adelete'
怎么了?

uyhoqukh

uyhoqukh1#

adelete是queryset方法,不是模型上的方法。

所以你不能用adelete删除单个对象。
https://docs.djangoproject.com/en/4.2/ref/models/instances/#deleting-objects
试试这个

await DbModel.objects.filter(pk=module_id).adelete()

相关问题