我正在使用Ariadne(新的python graphql库,它支持使用通道的子脚本)和Django通道来处理Django和Graphql。我想订阅可以使用Django Signals完成的模型更改,但是我无法将这些更改绑定在一起。
我的信号接收器功能:
@receiver(post_save, sender=get_user_model())
def user_handler(sender, instance, **kwargs):
print("======> Signal Called")
return instance
我的订阅处理程序:
@subscription.source("counter")
async def counter_generator(obj, info):
user = await this_needs_to_be_implemented()
yield user
@subscription.field("counter")
def counter_resolver(count, info):
print("count ====> ", count)
return count + 1
注意:计数器生成器是异步函数。