【问题标题】:Django South migration is throwing an error 'module' object has no attribute 'SET_NULL'Django South 迁移抛出错误“模块”对象没有属性“SET_NULL”
【发布时间】:2014-04-29 05:30:12
【问题描述】:

我刚刚通过./manage.py schemamigration --auto 生成了迁移脚本并运行了它。我收到以下错误。我很难理解这可能意味着什么。我已经使用 SET_NULL 一段时间了。所以这是以前没有出现过的新事物。知道有什么问题吗?

Traceback (most recent call last): File "./manage.py", line 16, in execute_from_command_line(sys.argv) File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/django/core/management/init.py", line 399, in execute_from_command_line utility.execute() File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/django/core/management/init.py", line 392, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv self.execute(*args, **options.dict) File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute output = self.handle(*args, **options) File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/south/management/commands/schemamigration.py", line 111, in handle old_orm = last_migration.orm(), File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/south/utils/init.py", line 62, in method value = function(self) File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/south/migration/base.py", line 432, in orm return FakeORM(self.migration_class(), self.app_label()) File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/south/orm.py", line 48, in FakeORM _orm_cache[args] = _FakeORM(*args)
File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/south/orm.py", line 134, in init self.retry_failed_fields() File "/home/vivekv/.environments/fantain/local/lib/python2.7/site-packages/south/orm.py", line 377, in retry_failed_fields fname, modelname, e ValueError: Cannot successfully create field 'winner' for model 'match': 'module' object has no attribute 'SET_NULL'.

【问题讨论】:

    标签: python django django-models django-south


    【解决方案1】:

    好的,这不是一个有效的问题。我很尴尬地承认我对导致问题的迁移脚本做了一些小调整。请忽略这个问题 - 好像我没有办法删除我提出的问题!

    【讨论】:

      【解决方案2】:

      我写了solution here

      简答:使用models.SET_NULL 而不是"SET_NULL"。 您需要在所有具有 b"SET_NULL"

      的迁移中替换它

      【讨论】:

        猜你喜欢
        • 2013-12-25
        • 2011-10-26
        • 2021-11-02
        • 2013-05-09
        • 1970-01-01
        • 2012-08-06
        • 2019-03-05
        • 2011-09-28
        • 1970-01-01
        相关资源
        最近更新 更多