您如何从表单构造函数动态更新Django Form Meta类字段?

前端之家收集整理的这篇文章主要介绍了您如何从表单构造函数动态更新Django Form Meta类字段?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想动态更新Meta.fields。可以从Form构造函数中做到这一点吗?我尝试了以下,但在形式生成期间一年不显示。仅显示名称标题
class Author(models.Model):
    name = ...
    title = ...
    year = ...

class PartialAuthorForm(ModelForm):
    class Meta:
        model = Author
        fields = ('name','title')

    def __init__(self,*args,**kwargs):
        self.Meta.fields += ('year',)

解决方法

不,这不行。 Meta在您甚至达到__init__之前被惊奇地解析为Metaclass。

执行此操作的方法是手动将自己添加到self.fields中:

def __init__(self,**kwargs):
    super(PartialAuthorForm,self).__init__(*args,**kwargs)
    self.fields['year'] = forms.CharField(whatever)

猜你在找的HTML相关文章