2017-12-12 18 views
1

ManyToManyフィールドにフィルタを追加しようとしています。Django Many To Filter with filter

私はモデルUserとモデルNotificationを持っています。通知はManyToManyフィールドによってUserと接続されます。私は、たとえばブルガリアにあるすべてのユーザーに通知を送信したり、事前に定義されていないユーザーモデルの別のプロパティに基づいてフィルタを適用したりできます(つまり、通知を作成するユーザーはフィルタの作成前を知りませんフィールド)。

私はraw_id_fieldsユーザー通知管理ページで試してみました。モデルのフィルタに基づいて追加するユーザーを選択してフィルタリングできますが、一度に1人のユーザーしか選択できません。たとえば10kユーザーなどの追加が必要な場合は、これはかなり不便です。 enter image description here raw_id_fieldを使用して複数のインスタンスを同時に選択するか、フィールドフィルタリングをfilter_horizontalに追加するか、わかりません。あなたは、ユーザーのlocated属性で通知をフィルタリングできるようになる

list_filter = ['user__located'] 

+1

地域やその他のフィルタリング基準に基づいて複数のユーザーに通知を送信しようとしていますか?申し訳ありませんがあなたの質問は明確ではありません。 – prakash09

+0

はい、それは私がやろうとしていたものですが、私はちょうどこれのための修正の周りの仕事の一種を見つけました。 –

+0

私はUser Modelページにカスタムアクションを追加しました - 選択したすべてのユーザーがmany2manyリレーションにアタッチされた空の通知を作成した後、通知モデルページに行くと通知の他のプロパティを入力して保存しますそれ。私はsaveに関して、many2many関係にあるすべてのユーザーにソケットを通してメッセージを送信する必要があるという別のロジックを持っています。 –

答えて

0

は、私が何をあなたが探しては、このであると信じています。

+0

クール!私はlist_filterオプションについて読んでいました。乾杯! :) –