【发布时间】:2015-12-22 07:56:44
【问题描述】:
我正在使用django,现在我将python文件从custom_fields重命名为fields并更改了模型类,模型类使用来自fields文件的字段,但是当我运行时
python manage.py makemigrations
存在这样的错误:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
utility.execute()
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/core/management/commands/makemigrations.py", line 65, in handle
loader = MigrationLoader(None, ignore_no_migrations=True)
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/db/migrations/loader.py", line 49, in __init__
self.build_graph()
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/db/migrations/loader.py", line 170, in build_graph
self.load_disk()
File "/Users/smy/wuque/projects/LinuxChat/Server/lib/python2.7/site-packages/django/db/migrations/loader.py", line 105, in load_disk
migration_module = import_module("%s.%s" % (module_name, migration_name))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/smy/wuque/projects/LinuxChat/Server/LinuxChatServer/Server/migrations/0005_auto_20151215_1223.py", line 5, in <module>
import Server.custom_fields
ImportError: No module named custom_fields
我不知道如何解决这个错误,所以我尝试删除migrates文件夹,但是当我再次运行上述命令时,无法检测到任何更改,即使我再次修改模型类。只需显示:
No changes detected.
现在无法修改数据库表,谁能告诉我如何解决这个问题?谢谢!
【问题讨论】:
-
python 文件是否只是一个包含您的自定义字段的文件?这不会对数据库本身产生任何影响
-
我会先尝试将名称字段更改为另一个名称,例如 fields0。有时在 python 中,您可能会使用受其他功能保护的名称。我要尝试的第二件事是删除数据库并重新开始:
python manage.py syncdb然后 makemigrations 和 migrate... -
@Sayse,但 Model 类正在使用来自
custom_fileds的字段,现在称为fields
标签: python django django-models django-migrations