如何在Django模板中将ForeignKey字段显示为选择字段

时间:2017-03-29 05:42:23

标签: python django django-1.9

我需要在Django模板中显示一个foreignKey字段作为选择字段,它将所有可用记录显示为下拉列表。考虑每次选择字段时查询数据库的情况,这是实现上述目标的最佳方法,从ForeignKey字段中选择字段。

2 个答案:

答案 0 :(得分:2)

使用ModelChoiceField https://docs.djangoproject.com/en/1.10/ref/forms/fields/#django.forms.ModelChoiceField

class MyForm(forms.ModelForm):
    myfield = forms.ModelChoiceField(queryset=...)

答案 1 :(得分:1)

您应该使用第一个视图来获取该外键字段并将其传递给上下文字典。到模板。

内部Views.py

DEPENDENT_FILED = DB.OBJECT.ALL() // field which has all the drop-down values.
FR_FIELD = DB.OBJECT.GET(DB_OBJ_HAVING_FR) // selected drop-down from template

context['FR_FIELD'] = FR_FIELD

在example.html内部

{% if FR_FIELD %}
    <select name="dropdown_field">
          {%for fr_key in DEPENDENT_FILED %}
               <option value="{{fr_key.field_name}}" {% if fr_key.field_name = FR_FIELD|add:0 %}selected{% endif %}>{{fr_key.option_name}}</option>
         {% endfor %}
    </select>