0

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

from django.forms import ModelForm
from ver11.models import studentdetails
class studentform(ModelForm):
     class Meta:
          model=studentdetails
          fields='__all__'

但我收到以下错误:

Unknown field(s) (a, l, _) specified for studentdetails

请指导我完成这个

4

2 回答 2

2

我猜你使用的是 Django 1.5 或以前的版本。__all__仅存在于 Django 1.6+ 中:

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

因此,将您的代码更改为:

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

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

另请阅读PEP8以了解名称约定和样式。

于 2013-08-01T10:03:42.393 回答
1

在 Django 1.5 或更早版本中,字段应该是可迭代的,如列表或元组,你给它一个字符串,这也是一个可迭代的,但它被解释为('a', 'l', '_')

尝试

fields = ['__all__']

但是,您可以忽略它,一切都是默认的。

另请注意,fields = ('__all__')由于这不是真正的元组,因此仍然会给您此错误,您需要fields = ('__all__',)说服 python 您的意思是元组。

于 2014-02-12T10:59:33.387 回答