栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

动态更新ModelForm的Meta类

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

动态更新ModelForm的Meta类

meta类用于动态构造表单定义-因此,在创建ModelForm实例时,不包含在不包含中的字段已经作为新对象的属性添加。

通常的方法是为每个可能的排除列表仅具有多个类定义。但是,如果您希望表单本身是动态的,则必须动态创建一个类定义。就像是:

def get_form(exclude_list):    class MyForm(ModelForm):        class meta: model = Passenger exclude = exclude_list    return MyFormform_class = get_form(('field1', 'field2'))form = form_class()

更新 :我只是重新回顾了这篇文章,并认为我会发布一种更惯用的方式来处理动态类:

def PassengerForm(exclude_list, *args, **kwargs):    class MyPassengerForm(ModelForm):        class meta: model = Passenger exclude = exclude_list        def __init__(self): super(MyPassengerForm, self).__init__(*args, **kwargs)    return MyPassengerForm()form = PassengerForm(('field1', 'field2'))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645127.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号