有时候我的愚蠢,鲁莽和胆大妄为的编程让我走到了一些危险的地方:
我已经使用sqlite3启动了一个Django 1.4应用程序,然后转移到mysql,没什么大不了的。但后来我意识到我的模型非常适合NoSql模型并且决定尝试使用django-nonrel的MongoDB,它是Django 1.3的一个分支,支持非关系数据库。版本1.4仍未准备好使用。
所以,我已经分支了我的回购,创建了我的virtualenv和pipinstalled django-nonrel但是当我运行./manage.py shell
时我收到了这条消息
Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/marcoslhc/Documents/Proyectos/fontcase/mongoBE/lib/python2.7/site-packages/django/core/management/__init__.py", line 429, in execute_from_command_line
utility.execute()
File "/Users/marcoslhc/Documents/Proyectos/fontcase/mongoBE/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/marcoslhc/Documents/Proyectos/fontcase/mongoBE/lib/python2.7/site-packages/django/core/management/__init__.py", line 252, in fetch_command
app_name = get_commands()[subcommand]
File "/Users/marcoslhc/Documents/Proyectos/fontcase/mongoBE/lib/python2.7/site-packages/django/core/management/__init__.py", line 101, in get_commands
apps = settings.INSTALLED_APPS
File "/Users/marcoslhc/Documents/Proyectos/fontcase/mongoBE/lib/python2.7/site-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/Users/marcoslhc/Documents/Proyectos/fontcase/mongoBE/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/Users/marcoslhc/Documents/Proyectos/fontcase/mongoBE/lib/python2.7/site-packages/django/conf/__init__.py", line 139, in __init__
logging_config_func(self.LOGGING)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/config.py", line 776, in dictConfig
dictConfigClass(config).configure()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/config.py", line 562, in configure
'filter %r: %s' % (name, e))
ValueError: Unable to configure filter 'require_debug_false': Cannot resolve 'django.utils.log.RequireDebugFalse': No module named RequireDebugFalse
RequireDbugFalse是Django 1.4中的新功能(请参阅here和here),我想1.4中的其他一些基础魔法新功能在这个新安装中都无效。我想知道是否可以将我的应用程序迁移回Django 1.3 而不用执行django-admin.py startproject
或django-admin.py startapp
。
答案 0 :(得分:1)
你可以做到这一点,虽然你可能希望再次向前迈进。
我过去处理此问题的方法是,如果可能的话, not 对您的代码进行大量更改。相反,做你已经完成的事情 - 运行代码并等待它爆炸。确定问题的根源,然后执行以下操作之一:
除非您完全了解1.4中的一些独特新功能,否则您会惊讶地发现您可以快速提出可用的环境。我有一个项目,猴子补丁文件只有大约100行,可以在旧版本上改进十几个功能。
答案 1 :(得分:0)
如果你没有在项目中使用django 1.4,你可以创建一个1.3项目并从那里复制日志设置。那你应该没事。