首页 文章

Django AttributeError 'float'对象没有属性'split'

提问于
浏览
0

我安装了模块Django Import / Export link安装进行得很顺利 . 现在,当我想导入扩展名为.xls的文件时,它会显示以下错误:

/ admin / xxxx / xxxx / process_import /'float'中的AttributeError没有对象属性'split'

异常位置:C:\ Python34 \ lib \ site-packages \ import_export \ widgets.py in clean,321行

当我在这里编辑文件widgets.py源代码

def clean(self, value):
        if not value:
            return self.model.objects.none()
        if isinstance(value, float):
            ids = [int(value)]
        else:
            ids = value.split(self.separator)
        ids = filter(None, value.split(self.separator))
        return self.model.objects.filter(**{
            '%s__in' % self.field: ids
        })

这是第321行 ids = filter(None, value.split(self.separator))

Django模型

class Vehicule(models.Model):
    matricule = models.CharField(max_length=200)
    modele = models.CharField(max_length=200)
    annee = models.IntegerField()

    def __str__(self):
        return self.matricule

class Ligne(models.Model):
    nom = models.CharField(max_length=200)
    vehicule = models.ManyToManyField(Vehicule, through='Affecter_Vehicule_Ligne')

    def __str__(self):
        return str(self.nom)

class Affecter_Vehicule_Ligne(models.Model):
    vehicule = models.ForeignKey(Vehicule, on_delete=models.CASCADE)
    ligne = models.ForeignKey(Ligne, on_delete=models.CASCADE)
    actif = models.BooleanField(default=False)
    dateAffectation = models.DateTimeField(null=True)

    def __str__(self):
        return str(self.dateAffectation)


class Arret(models.Model):
   nom = models.CharField(max_length=200, null=True)
   latitude = models.CharField(max_length=200, null=True)
   longitude = models.CharField(max_length=200, null=True)
   lignes = models.ManyToManyField(Ligne, through='Ligne_Arret')

   def __str__(self):
       return str(self.nom)

class Ligne_Arret(models.Model):
    sens = models.CharField(max_length=200)
    section = models.BooleanField(default=False)
    ligne = models.ForeignKey(Ligne, on_delete=models.CASCADE)
    arret = models.ForeignKey(Arret, on_delete=models.CASCADE)

    def __str__(self):
        return str(self.arret)

Django管理员

class VehiculeAdmin(admin.ModelAdmin):
    list_display = ('matricule', 'modele', 'annee')
    search_fields = ('matricule', 'modele')

class Affecter_Vehicule_LigneAdmin(admin.ModelAdmin):
    list_display = ('vehicule', 'dateAffectation', 'ligne')

class ArretAdmin(ImportExportModelAdmin):
    pass

class Ligne_ArretAdmin(admin.ModelAdmin):
    list_display = ('ligne', 'arret', 'section', 'sens')

admin.site.register(Vehicule, VehiculeAdmin)
admin.site.register(Ligne)
admin.site.register(Affecter_Vehicule_Ligne, Affecter_Vehicule_LigneAdmin)
admin.site.register(Arret, ArretAdmin)
admin.site.register(Ligne_Arret, Ligne_ArretAdmin)

请帮我解决这个问题???

1 回答

  • 0

    您正在尝试在此行中拆分浮点值 ids = filter(None, value.split(self.separator))

    我想你可以删除这一行 . 在处理 None 案例并之前拆分时 .

相关问题