Django模型字段类型在syncDB时重新定义错误

SangminKim

我正在使用Django 1.8.3。

我为一些简单的限制重新定义了字段类型。

class BigIntegerField(models.BigIntegerField):
    def __init__(self,  min_value=None, max_value=None, **kwargs):
        validators=[MinValueValidator(min_value), MaxValueValidator(max_value)]
        models.BigIntegerField.__init__(self, validators, **kwargs)



class Test(models.Model):
    a = globalModels.BigIntegerField()

然后我做了syncDB,但它会生成如下异常。

Operations to perform:
  Synchronize unmigrated apps: staticfiles, models, messages
  Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  No migrations to apply.
Traceback (most recent call last):
  File "C:\Users\sangmin\Desktop\modelsTest\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 393, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py", line 25, in handle
    call_command("migrate", **options)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 120, in call_command
    return command.execute(*args, **defaults)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\migrate.py", line 205, in handle
    ProjectState.from_apps(apps),
  File "C:\Python27\lib\site-packages\django\db\migrations\state.py", line 178, in from_apps
    model_state = ModelState.from_model(model)
  File "C:\Python27\lib\site-packages\django\db\migrations\state.py", line 354, in from_model
    e,
TypeError: Couldn't reconstruct field a on models.Test: __init__() got multiple values for keyword argument 'verbose_name'

什么是错点?

为了弄清楚什么是探查,我试图删除代码中的某些部分。

最终我发现,如果我删除其中的validators参数,models.BigIntegerField.__init__(self, validators, **kwargs)它可以正常工作

丹尼尔·罗斯曼

任何Field类的第一个位置参数是verbose_name,而不是验证器。您应该将其作为kwarg通过。(此外,您应该真正使用super())。

super(BigIntegerField, self).__init__(self, validators=validators, **kwargs)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++“类”类型重新定义错误

来自分类Dev

错误integerField django模型syncdb

来自分类Dev

Django - 具有 ModelForm 的属性和重新定义的字段?

来自分类Dev

错误C2011:”:“类”类型重新定义

来自分类Dev

错误:重新定义班级

来自分类Dev

jshint错误:“ $”的重新定义

来自分类Dev

错误:工会的重新定义

来自分类Dev

错误:工会的重新定义

来自分类Dev

重新定义“ i”错误

来自分类Dev

jshint错误:“ $”的重新定义

来自分类Dev

错误:“ paddlePlayer”的重新定义

来自分类Dev

重新定义Django的家

来自分类Dev

C ++“类”类型的重新定义

来自分类Dev

重新定义/重载类型转换

来自分类Dev

重新定义其他类型的变量

来自分类Dev

C ++“类”类型的重新定义

来自分类Dev

'DemoProject :: Logger':'class'类型重新定义

来自分类Dev

MSVC错误-错误C2373:“描述”:重新定义;不同类型的修饰符

来自分类Dev

C中的重新定义错误

来自分类Dev

类重新定义错误C ++

来自分类Dev

重新定义:错误:未知提供程序

来自分类Dev

奇怪的类重新定义错误

来自分类Dev

c ++头文件重新定义错误

来自分类Dev

重新定义:错误:未知的提供程序

来自分类Dev

错误:重新定义默认参数

来自分类Dev

不使用重新定义的符号时避免多定义链接器错误

来自分类Dev

错误C2371:重新定义了“函数名”:不同的基本类型

来自分类Dev

错误C2371重新定义;不同的基本类型

来自分类Dev

错误C2011:“ sockaddr”:“ struct”类型重新定义。参见“ sockaddr”的声明