問題タブ [django-jsonfield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
170 参照

django - django モデル フォームセットの jsonfields を mongdb で更新する

各セルが json 値を表す編集可能なブートストラップ テーブルを作成しようとしています。このJSONFieldを使用して Django モデルを定義しました(Postgres のものではありません)。これは私のモデルです。

マイテンプレート

このテンプレートは、次のHTMLをレンダリングします。

機能しない理由をよりよく理解するには、セルがこのモデルの属性である Django モデルを使用しました。この場合、モデルのフィールドを編集していたので、セルの編集に問題 はありませんでした。今回は、セルはモデルのフィールド自体ではありません。私が持っている唯一のモデル フィールドは JSONField であり、そのセルを編集しようとしています。 json の値。

モデル:

テンプレート: _

レンダリングされたテンプレート:

モデル フィールドに基づいて Id と特定の属性を追加することによってフォームが作成されたことがわかりますが、JSONField の値を表示したときには何も起こりませんでした。

テンプレートでフォームを作成するときに、これらのフィールドを手動で作成する必要がありますか? または、ここでどのようなアプローチが必要ですか?

0 投票する
1 に答える
360 参照

django - Postgresで実行されているDjangoのJSONField内の特定のキーのすべての異なる値を抽出するにはどうすればよいですか?

概要:

ドロップダウンの場合、Postgres データベースのテーブルの JSONField 内に格納されている特定のキーの個別の値を計算する必要があります。最悪のシナリオ: テーブルには 100 万から 1000 万のエントリが含まれています。

バックグラウンド:

複数の展開 (顧客ごとに 1 つ) があるセットアップを開発しています。各デプロイメントには、バックエンドと複数のクライアントが含まれています。ログは、クライアントからバックエンドに継続的に投稿されます。これらのログには、ログ エントリの送信元を説明するlog_metaという名前のキーを含むフィールド が含まれます。originの値は顧客originごとに異なる場合があり、制限された値のセットを強制するつもりはありませんoriginが、一般的にはクライアントが実行されている環境を示します。"DEV" と "PRODUCTION" は の潜在的な値ですoriginorigin実際には、1 つの展開で に異なる値が 1 ~ 2 つしかない場合があります。ログの数は、100 万から 1000 万の範囲であると予想できます。

「管理者フロントエンド」では、管理者が(ドロップダウンを介して)フィルタリングして、特定のオリジンからのログのみを表示できるようにしたいと考えています。そのためには、originフィールドの個別の値を抽出する必要があります。

ログの数が場合によっては 100 万から 1000 万の範囲になることを考慮して、Django でこの一連の個別の値を計算するにはどうすればよいですか?

私がすでに試したこと

  • 方法がわからないので仕方ありません。

追加情報:

  • バックエンドは Django で書かれており、Postgres をデータベースとして使用しています。
  • その場で値を計算するのが現実的でない場合は、ログがロールインするときに個別の値のセットを継続的に構築することもできます。追加の状態が導入されるため、これを 2 番目のオプションと考えています。可能であれば、代わりにセットを計算/派生することを好みます。