You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Django Crispy Forms后执行makemigrations遇ModuleNotFoundError求助

问题描述

执行makemigrations时出现如下错误:

Traceback (most recent call last):
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/models/options.py", line 275, in _get_default_pk_class
    pk_class = import_string(pk_class_path)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/utils/module_loading.py", line 30, in import_string
    return cached_import(module_path, class_name)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/utils/module_loading.py", line 15, in cached_import
    module = import_module(module_path)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django.Falsedb'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/javier/Desktop/pd110/src/manage.py", line 22, in <module>
    main()
  File "/home/javier/Desktop/pd110/src/manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/core/management/base.py", line 412, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/core/management/base.py", line 458, in execute
    output = self.handle(*args, **options)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/core/management/base.py", line 106, in wrapper
    res = handle_func(*args, **kwargs)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/core/management/commands/makemigrations.py", line 156, in handle
    loader.check_consistent_history(connection)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/migrations/loader.py", line 313, in check_consistent_history
    applied = recorder.applied_migrations()
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/migrations/recorder.py", line 81, in applied_migrations
    if self.has_table():
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/migrations/recorder.py", line 59, in has_table
    return self.Migration._meta.db_table in tables
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/utils/functional.py", line 71, in __get__
    return self.fget(cls)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/migrations/recorder.py", line 32, in Migration
    class Migration(models.Model):
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/models/base.py", line 365, in __new__
    new_class._prepare()
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/models/base.py", line 378, in _prepare
    opts._prepare(cls)
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/models/options.py", line 329, in _prepare
    pk_class = self._get_default_pk_class()
  File "/home/javier/Desktop/pd110/lib/python3.10/site-packages/django/db/models/options.py", line 281, in _get_default_pk_class
    raise ImproperlyConfigured(msg) from e
django.core.exceptions.ImproperlyConfigured: DEFAULT_AUTO_FIELD refers to the module 'django.Falsedb.models.BigAutoField' that could not be imported.

当前INSTALLED_APPS配置:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'crispy_forms',
    'boletin',
]

此前迁移操作正常,已尝试在虚拟环境中重装Django 4.2.7和Crispy Forms,问题仍未解决。


解决方法

错误核心是DEFAULT_AUTO_FIELD配置存在笔误:配置值写成了django.Falsedb.models.BigAutoField,其中Falsedb为错误写法,正确路径应为django.db.models.BigAutoField。

  1. 打开项目根目录下的settings.py文件
  2. 找到DEFAULT_AUTO_FIELD配置行(若文件中无此配置则手动添加)
  3. 修改为正确配置:
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
  1. 保存文件后,重新执行makemigrations和migrate命令即可。

内容的提问来源于stack exchange,提问作者javi009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:15:09