最近、私はWebソケットをDjangoに統合することを検討しています。ドキュメントによると、Channelsを使用して行く方法です。Django Channel Webソケット - Model.objectsにメッセージを追加
は、私は、Webソケットサーバーに接続されている私のWebアプリケーションを持つようにしたい実例モデルクエリ
class Request(models.Model):
id = models.IntegerField(name="id", primary_key=True)
query = models.CharField(name = 'query', max_length=1024)
を考えます。 Webソケットサーバーはメッセージを受信すると、そのメッセージをクライアントによって確立されたソケット接続の特定のサブセットにブロードキャストする必要があります。
クライアント(つまりウェブブラウザ)は、ブロードキャストされたメッセージを受信すると、それをRequest.objectsに追加する必要があります。そこから、すべてのクエリのリストはDjangoテンプレートを使用して自動的に更新され、定義されたモデル内ではユーザが明示的に更新する必要はありません。
そこで、私の質問は以下のとおりです(I)チャネルを使用して、私は新たに到着したクエリオブジェクトへQuery.objects追加する方法、(これはジャンゴでウェブソケット接続を扱うの好ましい方法である場合) - Webソケットサーバーに送信する前に既に挿入されているため、オブジェクトをデータベースに格納しないでください。(II)対応するDjangoテンプレートの内容を更新します。