Python 我如何修复错误;以10为基数的int()的文本无效:';独立性';在Django?
我是Django的新手,我正在构建一个测验应用程序。我希望能够使用管理站点上的import_export.admin方法从Django中的CSV文件导入一些问题 当我尝试导入时,包含问题列表的CSV文件的内容不会附加到现有问题列表中。相反,它抛出了一个错误 以10为基数的int()的文本无效:“独立性” 我已尝试将正在上载的CSV文件的格式从逗号分隔的值更改为CSV UTF-8(逗号分隔)。我还尝试在“Category”列中使用整数,但它给出了一个“Traceback(最近一次调用)Category matching query not existence”错误。我怎样才能解决这个问题 我的admin.py文件: My models.py文件: 当我上传文件时,我得到错误信息: 基数为10的int()的文本无效:“独立性”Python 我如何修复错误;以10为基数的int()的文本无效:';独立性';在Django?,python,django,csv,django-models,django-import-export,Python,Django,Csv,Django Models,Django Import Export,我是Django的新手,我正在构建一个测验应用程序。我希望能够使用管理站点上的import_export.admin方法从Django中的CSV文件导入一些问题 当我尝试导入时,包含问题列表的CSV文件的内容不会附加到现有问题列表中。相反,它抛出了一个错误 以10为基数的int()的文本无效:“独立性” 我已尝试将正在上载的CSV文件的格式从逗号分隔的值更改为CSV UTF-8(逗号分隔)。我还尝试在“Category”列中使用整数,但它给出了一个“Traceback(最近一次调用)Catego
创建问题时,对于类别,您应该使用现有类别的id,而不是字符串值或随机整数。@dirkgroten Nico griffoen的答案是正确的,它起作用了。
class QuizAdmin(admin.ModelAdmin):
form = QuizAdminForm
list_display = ('title', 'category', )
list_filter = ('category',)
search_fields = ('description', 'category', )
class CategoryAdmin(admin.ModelAdmin):
search_fields = ('category', )
class MCQuestionAdmin(ImportExportModelAdmin):
list_display = ('content', 'category', )
list_filter = ('category',)
fields = ('content', 'category',
'figure', 'quiz', 'explanation', 'answer_order')
search_fields = ('content', 'explanation')
filter_horizontal = ('quiz',)
inlines = [AnswerInline]
class CategoryManager(models.Manager):
def new_category(self, category):
new_category = self.create(category=re.sub('\s+', '-', category).lower())
new_category.save()
return new_category
class Category(models.Model):
category = models.CharField(verbose_name=_("Category"),
max_length=250, blank=True,
unique=True, null=True)
objects = CategoryManager()
class Meta:
verbose_name = _("Category")
verbose_name_plural = _("Categories")
def __str__(self):
return self.category
class Question(models.Model):
"""
Base class for all question types.
Shared properties placed here.
"""
quiz = models.ManyToManyField(Quiz,
verbose_name=_("Quiz"),
blank=True)
category = models.ForeignKey(Category,
verbose_name=_("Category"),
blank=True,
null=True, on_delete=models.CASCADE)
figure = models.ImageField(upload_to='uploads/%Y/%m/%d',
blank=True,
null=True,
verbose_name=_("Figure"))
content = models.CharField(max_length=1000,
blank=False,
help_text=_("Enter the question text that "
"you want displayed"),
verbose_name=_('Question'))
explanation = models.TextField(max_length=2000,
blank=True,
help_text=_("Explanation to be shown "
"after the question has "
"been answered."),
verbose_name=_('Explanation'))
objects = InheritanceManager()
class Meta:
verbose_name = _("Question")
verbose_name_plural = _("Questions")
ordering = ['category']
def __str__(self):
return self.content
def create_new_question(data):
questions = Question.objects.create_new_question(quiz=data['quiz'],
category=data['category'],
content=data['content'],
explanation=data['explanation'])
questions.save()