【发布时间】:2019-08-26 06:39:28
【问题描述】:
我有一个培训师的下拉列表。我正在使用这个获取 html 表单。
class AssignTrainerForm(forms.Form):
TRAINER = []
for use in User.objects.filter(Q(role='trainer') & Q(is_active=True)):
opt = use.username + ' (' + use.first_name + ' ' + use.last_name + ')'
TRAINER.append((opt, opt))
trainer = forms.CharField(widget=forms.Select(choices=TRAINER, attrs={'class': 'form-control'}))
问题是我还有删除教练或添加教练的功能。如果我删除或添加培训师,刷新页面时下拉菜单不会更新。我必须重新启动服务器。
但如果我在 html 模板中使用简单的 HTML 代码(无 django 表单),例如:
<select class="form-control" name="trainer">
{% for trainer in trainers %}
<option>{{ trainer.username }} ({{ trainer.first_name }}
{{ trainer.last_name }})</option>
{% endfor %}
</select>
这给出了预期的结果,因为刷新列表来自数据库。
反正我每次刷新页面时都会使用 django 表单并获取刷新数据,
【问题讨论】:
-
如果您将更新提交到您的数据库,那么刷新时您的更改应该会显示出来。
-
我已经检查过了。添加/删除工作正常并相应地更新数据库。但形式没有改变。当我在特定视图函数之外写一些东西时,也会发生同样的事情。
标签: django django-forms