2017-07-18 1 views
0

マイモデルのManyToManyFieldジャンゴ私はlist_elem=[tomato, peperoni]という名前が必要です。外来キーではto_field=nameオプションをモデルに使用できますが、ManyToManyFieldは使用できません。 myfield__nameを試しましたが動作しません(myfield__name is not definedエラー)。 どうすればいいですか?私はビュー内で別の方法でpizza_listを定義する必要がありますか?これを処理する効率的な方法はどれですか?Ajaxのアクセスは、idで

は、例えば、パラメータとしてidを取り、JSONに名前を返す新しいビューを作成し、あなたに

答えて

0
  1. ありがとうございました{"name": "Jalapeno"}
  2. 作成したビューに接続しているURLにリクエストを送信し、JSONレスポンスから変数nameをキャプチャする関数を作成します。
  3. 必要な値を表示します(例: displayElemName(elem_id)

上記は、問題を解決するために使用できる一般的な考え方です。ただし、リストに項目がある場合と同じ回数だけデータベースに照会します。あなたがこれでOKならば、これはうまくいくでしょう。

+0

もっと効率的な方法はありませんか? pizza_listは非常に長い(何千もの要素)ので、何千ものリクエストを意味するので、 – fabio

+0

私はそうは思わない。おそらく、あなたはPythonからこれを行うことができます。 'get_display_name()'のようなものですが、JavaScriptからではなく、関係にアクセスすることができないからです。 – MiniGunnR

関連する問題