首页 > 解决方案 > Django 3.1:访问 ModelChoiceField 模板中的对象

问题描述

使用 Django 3.1,我正在努力完成一项基本任务。

我有一个这样的字段的表单:

forms.ModelChoiceField(queryset=StorageSpace.objects.filter(visible=True), widget=forms.RadioSelect)

在我看来,我想这样做:

{% for space in form.available_spaces %}
        <label class="btn btn-outline-primary">
            <input value="{{ space.id }}" data-storage-price={{ space.price }}>{{ space.title }}
        </label>
{% endfor %}

但这不起作用。如何访问每个选项的对象属性?不会那么难吧?我真的需要设置数据属性,否则我只会使用{{space}}.

标签: djangoformstemplatesmodelchoicefielddjango-3.1

解决方案


form.available_spaces.field.queryset

允许您访问选择字段后面的对象。就如此容易。


推荐阅读