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}}

解决方法

form.available_spaces.field.queryset

让您访问选择字段后面的对象。就这么简单。