0

選択した製品のリストを表すフォームがあります。各製品は選択ボックスから選択されます。選択ボックスは製品のPKを選択しますが、PK +製品の名前を次のように表示します。E12 - ValveまたはE58 - Rotary nozzle。現在、私の特定の状況は、ユーザー用に事前定義された製品のセットが選択されており、ユーザーがこの製品の選択から逸脱できないことです。したがって、ユーザーは選択した製品を変更することはできません。さらに、この製品フォームはinlineformset_factory、メインフォームではありません。

製品フォームを次のように表示します。

<table class="field_container" id="prodTable">
  <tr><th></th><th>CID</th><th>Qty</th></tr>
  {{ pform.management_form}}
  {% for form in pform %}
    <tr class="pform_set">
      {% for field in form %}
        <td class="product-item">{{ field }} {% if field.errors %} {{ field.errors }} {% endif %} </td>
      {% endfor %}
    </tr>
  {% endfor %}
</table>

に変更{{ field }}すると、外国のモデルのPKだけが{{ field.value }}得られます。E12ただし、表示する必要がありますE12 -- Valve。これを行う方法はありますか?

4

1 に答える 1

1

カスタム テンプレート タグが機能するようです。何かのようなもの -

from your_module import Product

def get_product_string(value):
    try:
        product = Product.objects.get(pk=value);
        return value + " -- " + product.name
    except DoesNotExist:
        return value

次に、テンプレートを変更して、代わりに{{ field.value }}できるようにします{{ field.value|get_product_string }}

于 2013-01-31T18:22:25.040 に答える