django-表单-字段错误-为<;表名>;

django-表单-字段错误-为<;表名>;,django,django-models,django-forms,Django,Django Models,Django Forms,我正在创建一个表单,在forms.py中我有: from django.forms import ModelForm from ver11.models import studentdetails class studentform(ModelForm): class Meta: model=studentdetails fields='__all__' 但我得到了以下错误: 为studentdetails指定的未知字段(a、l、_) 请引导我

我正在创建一个表单,在forms.py中我有:

from django.forms import ModelForm
from ver11.models import studentdetails
class studentform(ModelForm):
     class Meta:
          model=studentdetails
          fields='__all__'
但我得到了以下错误:

为studentdetails指定的未知字段(a、l、_)


请引导我完成这个

我猜您正在使用Django 1.5或以前的版本<代码>\uuuuuuuuuuuuuuuuuuuuuuu仅存在于Django 1.6+中:

在1.6版之前,不存在“all”快捷方式,但省略了 “字段”属性具有相同的效果。省略字段和 exclude现在已弃用,但将继续像以前一样工作,直到 版本1.8

因此,请将代码更改为:

from django.forms import ModelForm
from ver11.models import studentdetails

class studentform(ModelForm):
     class Meta:
          model = studentdetails
          # omit the fields totally

此外,请阅读名称惯例和风格

我猜您使用的是Django 1.5或以前的版本<代码>\uuuuuuuuuuuuuuuuuuuuuuu仅存在于Django 1.6+中:

在1.6版之前,不存在“all”快捷方式,但省略了 “字段”属性具有相同的效果。省略字段和 exclude现在已弃用,但将继续像以前一样工作,直到 版本1.8

因此,请将代码更改为:

from django.forms import ModelForm
from ver11.models import studentdetails

class studentform(ModelForm):
     class Meta:
          model = studentdetails
          # omit the fields totally

此外,请阅读名称惯例和风格

在Django 1.5或之前的版本中,字段应该是可写的,就像列表或元组一样,您给它一个字符串,它也是可写的,但它被解释为
('a','l','uu')

试一试

fields = ['__all__']
但是,您可以将其忽略,所有内容都是默认的


还要注意的是,
fields=(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',但它被解释为
('a','l','uu')

试一试

fields = ['__all__']
但是,您可以将其忽略,所有内容都是默认的


还要注意的是,
fields=(“\uuuuuuuu-all””
仍然会给你这个错误,因为这不是一个真正的元组,你需要
fields=(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu”)
来说服python你是指元组。

显然我已经经历过了,这就是为什么我要问这个问题。这可能是一个愚蠢的错误,但它给我带来了困难。当我用包含studentdetails表中所有字段的列表替换all时,效果很好。但是使用“all”的问题是什么?显然我已经经历过了,这就是为什么我在这里问这个问题。这可能是一个愚蠢的错误,但它给我带来了困难。当我用包含studentdetails表中所有字段的列表替换all时,效果很好。但是使用“所有”的问题是什么呢。如果有帮助,请接受我的回答。请记住阅读PEP8,老实说,代码中的名称约定非常糟糕。不客气。如果有帮助,请接受我的回答。请记住阅读PEP8,老实说,代码中的名称约定非常糟糕。这是不正确的。虽然
字段
需要是一个iterable,但您也可以将
“所有”
指定为其值,并且它具有要包括的所有
模型
字段的效果。检查一下。我相信这在django 1.7(可能是1.6/1.5?)之后已经改变了,可能是因为很多人都犯了这个错误。但在django 1.4中肯定不是这样,我清楚地记得自己也遇到过这个问题。在我使用的django的所有版本中,由于它是默认值,所以省略它的建议都是有效的。我不记得了,但我认为当时的情况不同,这就是为什么我没有投反对票。这篇评论只是为了向阅读本文的人澄清这个细节。这是不正确的。虽然
字段
需要是一个iterable,但您也可以将
“所有”
指定为其值,并且它具有要包括的所有
模型
字段的效果。检查一下。我相信这在django 1.7(可能是1.6/1.5?)之后已经改变了,可能是因为很多人都犯了这个错误。但在django 1.4中肯定不是这样,我清楚地记得自己也遇到过这个问题。在我使用的django的所有版本中,由于它是默认值,所以省略它的建议都是有效的。我不记得了,但我认为当时的情况不同,这就是为什么我没有投反对票。这篇评论只是为了向阅读本文的人澄清这个细节。