运行manage.py validate时为什么会出现此错误?

时间:2010-07-21 12:49:46

标签: django

运行manage.py validate时为什么会出现此错误?:

Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\python26\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
    utility.execute()
  File "C:\python26\lib\site-packages\django\core\management\__init__.py", line
379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\python26\lib\site-packages\django\core\management\base.py", line 191,
 in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\python26\lib\site-packages\django\core\management\base.py", line 218,
 in execute
    output = self.handle(*args, **options)
  File "C:\python26\lib\site-packages\django\core\management\base.py", line 347,
 in handle
    return self.handle_noargs(**options)
  File "C:\python26\lib\site-packages\django\core\management\commands\validate.p
y", line 9, in handle_noargs
    self.validate(display_num_errors=True)
  File "C:\python26\lib\site-packages\django\core\management\base.py", line 245,
 in validate
    num_errors = get_validation_errors(s, app)
  File "C:\python26\lib\site-packages\django\core\management\validation.py", lin
e 28, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "C:\python26\lib\site-packages\django\db\models\loading.py", line 146, in
 get_app_errors
    self._populate()
  File "C:\python26\lib\site-packages\django\db\models\loading.py", line 61, in
_populate
    self.load_app(app_name, True)
  File "C:\python26\lib\site-packages\django\db\models\loading.py", line 78, in
load_app
    models = import_module('.models', app_name)
  File "C:\python26\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\projects\mysite\..\mysite\books\models.py", line 5, in <module>
    class Publisher(models.Model):
  File "C:\projects\mysite\..\mysite\books\models.py", line 6, in Publisher
    name = models.CharField(maxlength=30)
  File "C:\python26\lib\site-packages\django\db\models\fields\__init__.py", line
 542, in __init__
    super(CharField, self).__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'maxlength'

2 个答案:

答案 0 :(得分:9)

问题是你现在正在使用更新版本的Django。从1.0(或实际上,在0.97的某处)Django切换到max_length而不是maxlength。所以要么升级你的代码,要么安装Django 0.96让它再次运行。

答案 1 :(得分:1)

很难100%肯定,因为你没有在mysite / books / models.py中包含代码,但似乎发布者类中的CharField的'max_length'关键字参数拼写错误'最大长度”。

请在此处查看正确的值:

http://docs.djangoproject.com/en/dev/ref/models/fields/#charfield