在上节课,可以添加老师和任教班级,但是有一个bug就是,在程序启动后,你添加班级后,再去添加老师,发现老师下面的班级列表是没有新添加的那个班级。说明这个班级不是动态更新的。下面看看如何修改代码实现更新。

class TeachForm(Form):
    tname = fields.CharField(min_length=2)
    xx = fields.MultipleChoiceField(
        choices=models.Classes.objects.values_list('id', 'title'),
        widget=widgets.SelectMultiple()
    )

    def __init__(self,*args,**kwargs):
        super(TeachForm,self).__init__(*args,**kwargs)
        self.fields['xx'].choices = models.Classes.objects.values_list('id','title')

另一种显示方式:
Django 中form动态显示数据
Django 中form动态显示数据_第1张图片
Django 中form动态显示数据
但是在页面上显示的是一个对象
Django 中form动态显示数据_第2张图片
所以要修改models来配合
Django 中form动态显示数据_第3张图片