阅读背景:

Django之Form自定义验证规则

来源:互联网 

 

1、数据源无法时时更新,有两种方法

方式一:重构构造方法(推荐)

方法一:重构构造方法(推荐)
    class ClassesForm(Form):
    name = fields.CharField(
        required=True,  # 必填字段
        error_messages={"required": "姓名不能为空!!"},  # 显示中文错误提示
        widget=widgets.TextInput(attrs={"placeholder": "姓名", "class": "form-control"}),  # 自动生成input框
    )
    # 如果直接定义成classteacher_id,,_id 的形式,这样你添加数据的时候不会时时更新,所以在下面定义一个重写的方法
    # classteacher_id = fields.ChoiceField(choices= models.UserInfo.objects.filter(ut_id = settings.ROLE_CLASSTEACHER).values_list('id', "username"))

        classteacher_id = fields.ChoiceField(choices=[])
        def __init__(self,*args,**kwargs):   #重写init方法,时时更新
            super().__init__(*args,**kwargs)   #继承父类方法



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: