用于通知用户的频道或信号。
我目前正在创建此在线预订django应用。我在django上还很陌生,我想知道应该使用什么方式通知某些用户新的预订。一旦用户已经登录,便会收到通知。我使用频道或信号吗?
答案 0 :(得分:1)
您可以同时使用。您可以使用Django通道创建Web套接字,以在客户端和服务器之间进行双向通信。然后,您应该创建一个信号来收听新的预订创建事件。
每次创建新的预订时,信号都会触发,并通过Web套接字将数据发送给客户端。
答案 1 :(得分:0)
在名为“Reload”的消费者类的connect方法中,我们定义了一个名为“id”的全局变量。变量的值是消费者 websocket 连接的实例。我们在“custom_signal”类之外定义了一个 django 信号,当创建 Person 对象并使用 id 变量通过 websocket 发送消息时触发该信号。
select * from
(
select UserID,
sum(case when GroupID = 'G1' then 1 else 0 end) g1_sum,
sum(case when GroupID = 'G2' then 1 else 0 end) g2_sum,
sum(case when GroupID = 'G3' then 1 else 0 end) g3_sum,
sum(case when GroupID = 'G4' then 1 else 0 end) g4_sum
from
table
group_by UserID
)
where UserID = 'u1' and g1_sum > 0 and g2_sum > 0 and g4_sum = 0