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

Django跨App模型引用问题求助:无法找到Quiz模型

Django跨App模型引用找不到的解决方案

常见问题排查与修复步骤

  • 确认App已注册到项目配置
    打开项目根目录下的settings.py,检查INSTALLED_APPS列表,确保quiz和questions两个App都已添加:

    INSTALLED_APPS = [
        # 系统默认App
        'django.contrib.admin',
        'django.contrib.auth',
        # ...其他默认项
        'quiz',
        'questions',
    ]
    
  • 使用正确的模型引用方式
    在questions/models.py中引用Quiz模型,有两种可靠写法:

    1. 直接导入模型:
      from quiz.models import Quiz
      
      class Question(models.Model):
          quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE)
          # 其他字段定义
      
    2. 字符串式引用(推荐用于避免循环引用场景):
      from django.db import models
      
      class Question(models.Model):
          quiz = models.ForeignKey('quiz.Quiz', on_delete=models.CASCADE)
          # 其他字段定义
      
  • 检查App目录结构合法性
    确认quizApp目录下存在models.py文件,且文件名拼写完全正确(Django对文件名大小写敏感);同时每个App目录下必须有__init__.py文件(空文件即可,用于标记为Python包)。

  • 刷新迁移缓存
    执行以下命令清理旧迁移缓存并重新生成:

    python manage.py makemigrations --empty questions
    python manage.py makemigrations
    python manage.py migrate
    
  • 验证Python运行环境路径
    虽然你已经调整过解释器路径,可再通过命令行确认当前环境的Python路径是否指向项目依赖的虚拟环境:

    which python  # Linux/macOS
    where python  # Windows
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:42:09