Django Form 实时从数据库中获取数据

修改 models.py 添加

class UserType(models.Model):
    caption = models.CharField(max_length=32)

执行命令,生成数据库

python manage.py makemigrations
python manage.py migrate

修改 forms.py 添加

from app01 import models
class DBForm(DForms.Form):
    host = fields.CharField()
    host_type = fields.IntegerField(
        widget=widgets.Select(choices=[])
    )

    def __init__(self, *args, **kwargs):
        super(DBForm, self).__init__(*args, **kwargs)
        self.fields['host_type'].widget.choices = models.UserType.objects.all().values_list('id', 'caption')  # 自定义构造方法,实时从数据库中获取数据

posted @ 2019-07-25 13:55  klvchen  阅读(2787)  评论(1编辑  收藏  举报