Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确保在Django管理表单中显示额外字段?_Django_Django Forms_Django Admin - Fatal编程技术网

如何确保在Django管理表单中显示额外字段?

如何确保在Django管理表单中显示额外字段?,django,django-forms,django-admin,Django,Django Forms,Django Admin,我有以下代码: class MyModelForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(MyModelForm, self).__init__(*args, **kwargs) self.fields['extra_field'] = forms.CharField( label=_('Extra field'), max_

我有以下代码:

class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyModelForm, self).__init__(*args, **kwargs)
        self.fields['extra_field'] = forms.CharField(
            label=_('Extra field'),
            max_length=255
        )

    class Meta:
        model = MyModel
        fields = '__all__'


class MyModelInline(admin.StackedInline):
    extra = 0
    model = MyModel
    form = MyModelForm

我添加的额外字段没有显示在我的表单中。请注意,额外字段不是数据库中存在的字段。这只是专门针对这种形式的东西。如何确保额外字段与所有其他数据库字段一起自动显示在我的表单中?我不想手动提及self.fields属性中的每个字段。谢谢您的帮助。

我认为您不需要重写
\uuuu init\uuu()
方法,只需按常规方式放置字段即可

类MyModelForm(forms.ModelForm):
extra_field=forms.CharField(标签=u('extra field'),最大长度=255)
类元:
模型=会话

fields='\uuuuu all\uuuuu'
是的,这很有效。我把它放在init中,因为我希望它有一个基于对象是否存在的默认值。你知道我如何用你的方法做到这一点吗?你能把逻辑放在OP?Nvm中吗?这应该是一个单独的问题。
class MyModelForm(forms.ModelForm):
    extra_field = forms.CharField(label=_('Extra field'), max_length=255)

    class Meta:
        model = Session
        fields = '__all__'