django查询信号
django-query-signals的Python项目详细描述
django查询信号
这是什么?
在QuerySet数据操作方法上发送信号的库。
它解决了什么问题?
django发送许多信号,包括在创建、删除模型实例时 并更新。但是,当使用bulk-create或delete这样的批量方法时。在那里 不发送信号,使用此库信号按以下方法发送:
- 批量创建
- 删除
- 获取或创建
- 更新或创建
- 更新
在方法执行之前和之后将发送一个信号。
如何安装?
pip install django-query-signals
添加到django(使用积分器)
>>> import django_integrator >>> django_integrator.add_application('django_query_signals')
如果您不想使用上面的代码,只需将“django_query_signals”添加到 你安装的应用程序。
我怎么用?
从命名空间django_query_signals可以导入以下信号 您可以通过通常的方式连接到。
- pre_bulk_create
- post_bulk_create,
- pre_delete
- post_delete
- pre_get_or_create
- post_get_or_create
- pre_update_or_create
- post_update_or_create
- pre_update
- post_update
例如:
>>> @receiver(post_bulk_create) >>> def callback(signal, sender, args): >>> pass
参数“signal”是连接的信号,“sender”是 基础模型类和“args”是一个字典,queryset中的方法 被称为with,这是由包含queryset的“self”补充的 实例,如果连接信号为“post”类型,则键“return”也为 已添加,其中包含方法返回的值。
如果连接到“pre”类型信号,则更改“args”和“self”将 同时更改方法的实际执行。
警告
这个库依赖于monkey补丁django.db.models.query.queryset,因此如果 您的实例还可以对相同的内容进行monkey补丁,或者在 你的经理,那么这个图书馆很有可能根本不工作 对您来说,无论如何,您可以通过检查 此库中的signals.py文件。
这是什么执照?
双条款bsd
我怎样才能得到支持?
请使用repo的bug追踪器留下任何问题、反馈, 建议和意见。我会根据我的时间和外表来处理 很有趣。如果您需要担保支持,请通过 发电子邮件以便我们讨论适当的补偿。
签字
我的工作对你有帮助还是有价值?您可以通过以下方式来回报我:
https://paypal.me/MartinHellwig
-或-
https://www.patreon.com/hellwig
谢谢你!