Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何修复错误;以10为基数的int()的文本无效:';独立性';在Django?_Python_Django_Csv_Django Models_Django Import Export - Fatal编程技术网

Python 我如何修复错误;以10为基数的int()的文本无效:';独立性';在Django?

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

我是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()的文本无效:“独立性”


创建问题时,对于类别,您应该使用现有类别的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()