Django-import-export报错:module无_meta属性的解决求助
解决django-import-export导入时的AttributeError: module 'quizbot.quiz.models' has no attribute '_meta'错误
问题根源
你的代码存在三个关键错误导致该异常:
- Question模型覆盖默认管理器:
Question类中设置objects = None,删除了Django模型默认的objects管理器,而_meta属性的正常访问依赖模型的管理器与元数据结构,直接导致django-import-export无法正确识别模型。 - QuizResource绑定模块而非具体模型:
QuizResource的Meta类中model = models,这里的models是导入的模块,而非具体的Question或Answer模型类,django-import-export需要绑定到具体模型才能读取_meta信息。 - Admin注册拼写与参数错误:
admin.site.reqister是拼写错误(正确为register),且注册时传入的是模块models而非具体模型类,同时一个ImportExportModelAdmin通常对应单个模型,需分别注册。
修复步骤
1. 修复Question模型
移除Question类中的objects = None行,恢复Django默认模型管理器:
from django.db import models class Question(models.Model): # 移除该行:objects = None LEVEL = ( (0, ('Any')), (1, ('Beginner')), (2, ('Intermediate')), (3, ('Advanced')), (4, ('Expert')), ) title = models.CharField(("title"), max_length=255) points = models.SmallIntegerField("points") difficulty = models.IntegerField(('Difficulty'), choices=LEVEL, default=0) is_active = models.BooleanField(("Is Active"), default=True) created_at = models.DateTimeField(("Created"), auto_now=False, auto_now_add=True) updated_at = models.DateTimeField(("Updated"), auto_now=True, auto_now_add=False) def __str__(self): return self.title
2. 修正admin.py配置
为每个模型单独创建Resource和Admin类,正确注册:
from django.contrib import admin from import_export.admin import ImportExportModelAdmin from import_export import resources from .models import Question, Answer # Question模型的导入导出资源 class QuestionResource(resources.ModelResource): class Meta: model = Question # Answer模型的导入导出资源 class AnswerResource(resources.ModelResource): class Meta: model = Answer # Question模型的Admin配置 class QuestionAdmin(ImportExportModelAdmin): resource_class = QuestionResource # Answer模型的Admin配置 class AnswerAdmin(ImportExportModelAdmin): resource_class = AnswerResource # 分别注册两个模型 admin.site.register(Question, QuestionAdmin) admin.site.register(Answer, AnswerAdmin)
3. 验证修复
启动Django服务器后进入后台管理页面,Question和Answer模型将显示导入导出按钮,此时导入文件不会再出现_meta相关错误。
内容的提问来源于stack exchange,提问作者HowToCode
相关产品推荐
相关产品推荐

