問題タブ [m2m]
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.
python - Django で m2m_changed フェーズで保存を中止する
モデルを保存するときに、django 多対多フィールドをサードパーティ サーバーに保存する必要があります。ただし、サードパーティのサーバーが利用できない可能性があります。その場合、保存操作全体を中止する必要があります。
m2m_changed フェーズからモデルの保存を中止することは可能ですか?
django - Django で制限された ManyToMany 関係
Django の既存のロジックが自然に関係を強制するように、誰かがモデルとの次の一般的な関係を表す最も Djangoic な方法を教えてくれることを願っています。
モノ A とモノ B は両方とも、多くのタイプの 1 つを持っています。モノ A は、多くのモノ、1 つ、またはまったくモノ B に関連付けることができ、またその逆も (対称的に) 行うことができますが、モノ A とモノ B は、それらが同じタイプを共有している場合にのみ関連付けることができます。
私の現在の実装では、A、B、および Type の 3 つのモデルを使用します。ここで、As と B は Type への外部キーを持ち、A は B との m2m を持ちます。
これにより、やりたいことを実行できますが、A が別のタイプの B を持つことができないという事実は強制されません。制御するビューでフィルタリング ロジックを使用できますが、管理者のようにあまり制御できないところでは、Django を使用して As をさまざまなタイプの B にマップできます。Django で As、B、Types の関係を表す別の方法はありますか?
pentaho - OLAP-Pentaho と m2m の関係
Pentaho OLAP の実装は接続 m2m (多対多) をサポートしていますか? タスクを解決する必要があります: 次のテーブルに保存されているデータ:
OLAP キューブ (ファクト テーブル) には、2 つのディメンション (persons と locations) と 1 つのメジャー (count (fact_id)) が含まれます。
次のようなクエリを作成する必要があります。
結果として、次のようなデータを取得する必要があります。
トムとジェイの人物と関係のある事実に関連する場所。
python - Django モデルの保存方法、m2m の更新が機能しない
モデルの管理者リストからユーザーが自滅するのを防ぐ必要があります。
わかりました、ここでキャストされた黒魔術かもしれません。信号を試してみましょうpost_save
:
アサーションが発生した場合にのみ、管理者リストにユーザーを追加します。わかりました、黒魔術が再び発生した可能性があります。試してみましょう:
もちろん、maximum recursion depth exceeded
。どうしたの?この痛みは止められません:(
UPD1
BEFORE m2m リレーションpost_save
と呼ばれるメソッドが保存されたため、競合状態に陥り、新しいデータが空のフォーム データに置き換えられたようです。悪い解決策は次のとおりです。
モデルに関するすべての作業が完了した後、Django が発するシグナルを知りたいのですが。
PS魔法はありません。:(
UPD2 ライライアン
フォーム.py
ビュー.py
python - 連結された 2 つの M2M フィールドで Django クエリセットを並べ替える
次の Django モデルがあります (ここでは大幅に簡略化されています)。
出版物には、著者または編集者のいずれかを含めることができますが、両方を含めることはできません。著者と編集者の統一による出版物のリストをアルファベット順に並べたいと思います。言い換えれば、著者と編集者の連結である仮想フィールドで注文したいと思います。creators
クエリ:
...著者がいない出版物をまとめて、そのグループ内で編集者に従って並べ替えますが、これは私が望んでいるものではありません。事実上、出版物に利用できる著者または編集者を使用し、それによってソートする必要があります。
この順序付けはデータベース レベルで行う必要があり、結果セットは膨大になる可能性があります。
networking - リモートサーバーからホームネットワーク上のIoTデバイスにデータを送信
インターネットに接続されたデバイス (インターネットに接続されたサーモスタットとしましょう) がリモート サーバーを常にポーリングして、ユーザーが設定を変更したかどうかを確認する必要がないようにするには、必要なときにサーバーがそのデバイスにデータを送信する方法を教えてください。インターネットに接続されたデバイスから接続を開始する方法は理解していますが、その逆ではありません。
デバイスによって開始された何らかのセットアップ プロセスで、デバイスはその詳細をサーバーに既に登録していると考えて間違いありません。
python - Python Django (Guardian): モデルの m2m フィールドに応じてデータを編集する
管理者インターフェースを機能させるのに本当に問題があります。モデルがあり、そのモデル内にグループ化する m2m フィールドがあります。
ここで、モデルを保存するときに、これらのグループに特別な表示権限を与えて、それらのグループのメンバーだけがそのモデルのオブジェクトを表示できるようにします。オブジェクトごとのアクセス許可にdjango-guardianを使用しています。したがって、私のモデルの保存方法では、次のようなことを行います。
また、post_save シグナルを使用しようとしましたが、問題は、変更を行うために管理者インターフェースの保存ボタンを常に 2 回押していることです(グループは常に正しい方法で追加されますが、アクセス許可は追加されるだけです)。 2 回目は、管理インターフェイスの [保存] ボタンを使用してモデルを保存します) では、ここで何が行われているのでしょうか? 誰でも助けることができますか?
- - 編集 - -
私の解決策: 次のように、permission-assignment-code を ModelAdmin クラスに移動しました。
admin.py