2016-08-14 1 views
0

'성분'모델에 외장 필드가있는 '레시피'장고 모델을 가지고 있습니다.django에 데이터 속성을 추가하는 방법 modelform modelchoicefield

폼을 렌더링 할 때 필드의 문자열 표현과 동일한 재료 ID 및 텍스트 표시와 일치하는 ID를 가진 SELECT 목록이 표시됩니다.

그러나 성분 목록에서 렌더링 된 옵션과 일치하는 선택 목록에 데이터 속성을 추가하려고합니다.

<option value="1158">Carrots</option> 
<option value="1159">Strawberry</option> 
<option value="1160">Onion</option> 
<option value="1161">Spinach</option> 

하지만 관련 개체에 대한 데이터 속성을 추가 할 :

<option value="1158" data-ingredient-type="vegetable">Carrots</option> 
<option value="1159" data-ingredient-type="fruit">Strawberry</option> 
<option value="1160" data-ingredient-type="vegetable">Onion</option> 
<option value="1161" data-ingredient-type="vegetable">Spinach</option> 

답변

0

render the fields manually

는 예를 들어, 현재 렌더링되는 것입니다 말할 수?

widgets = { ... 
    'ingredients' = forms.Select(attrs={'data-ingredient-type': 'fruit'}), 
    ...} 

<select> 
    {% for option in form.ingredient.choices %} 
    <option value="{{ option.id }}" data-ingredient-type={{ option.type }}>{{ option.name }}</option> 
    {% endfor %} 
</select> 

아니면처럼
it''ll는 할 일이 모델 폼 클래스는 당신이 그것에 attribute을 추가 할 수 있지만이 문자열이어야합니다 (또는 아마 기능)

관련 문제