django-在从数据库表自动生成的select语句中插入自定义选项

django-在从数据库表自动生成的select语句中插入自定义选项,django,django-templates,django-forms,django-views,Django,Django Templates,Django Forms,Django Views,我有一个下拉选择表单,它从数据库表中提取选择选项。根据某些变量,选项几乎一直在变化 我需要在下拉列表的底部添加一个始终相同的选项。一些能说明更多选择的东西。有什么想法吗?谢谢 我将用这种方式解决: 1-按当前方式渲染选择框 2-创建两个隐藏的选择框,一个有有限的选择,另一个有完整的列表 3-当用户单击“更多选项”按钮时,所有选项都将刷新,并将使用完整选择框中的选项重新填充。 4-作为一个选项,您可能希望用户返回较少的选项,在这种情况下,您只需再次刷新选项并从隐藏的选择框加载有限的选项 为了做到这

我有一个下拉选择表单,它从数据库表中提取选择选项。根据某些变量,选项几乎一直在变化

我需要在下拉列表的底部添加一个始终相同的选项。一些能说明更多选择的东西。有什么想法吗?谢谢

我将用这种方式解决: 1-按当前方式渲染选择框 2-创建两个隐藏的选择框,一个有有限的选择,另一个有完整的列表 3-当用户单击“更多选项”按钮时,所有选项都将刷新,并将使用完整选择框中的选项重新填充。 4-作为一个选项,您可能希望用户返回较少的选项,在这种情况下,您只需再次刷新选项并从隐藏的选择框加载有限的选项

为了做到这一点,您只需要使用style=display:none css属性的模板来呈现两个选择框更少的选项和更多的选项,然后编写js按钮单击事件,我通常会在jQuery中对其进行切换


希望它能有所帮助,只需询问您是否需要一些代码示例

通过在您使用的表单子类上重写uu init uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。它也应该同样适用于模型表单。我不确定你是如何根据这个问题来填充选择的

class ChoiceForm(Form):                                                         
    choice = ModelChoiceField(queryset=MyModel.objects.all())                    

    def __init__(self, *args, **kw):                                            
        super(ChoiceForm, self).__init__(*args, **kw)                           

        # Add to choices iterator                                               
        choice_field = self.fields['choice']                                    
        choice_field.choices = list(choice_field.choices) + [(0, 'More Options')]
当使用标记进行渲染时,将提供以下内容:

但请注意,此字段将在创建后修复。如果您传递的查询集的结果发生更改,则normal ModelChoiceField将自动更新其选项

<p>
    <label for="id_choice">Choice:</label> 
    <select name="choice" id="id_choice">
        <option value="" selected="selected">---------</option>
        <option value="0">More Options</option>
    </select>
</p>