Я работаю с Django и Graphql, используя Ariadne (новая библиотека python graphql, которая поддерживает подписки с использованием каналов) и Django каналы. Я хочу подписаться на изменения в модели, которые можно сделать с помощью Django сигналов, но я не могу связать их вместе.
Моя функция приема сигнала:
@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
Примечание: генератор счетчика имеет асинхронную функцию.