Django AttributeError'float'对象没有属性'split' [英] Django AttributeError 'float' object has no attribute 'split'
问题描述
我安装了模块Django导入/导出链接安装进行顺利.现在,当我想导入扩展名为.xls的文件时,它显示了以下错误:
I installed the module Django Import / Export link the installation went smoothly. Now when I want to import a file with the extension .xls it shows me the following error:
AttributeError'float'没有对象属性'split'
AttributeError at /admin/xxxx/xxxx/process_import/ 'float' Has No object attribute 'split'
异常位置:干净的C:\ Python34 \ lib \ site-packages \ import_export \ widgets.py,第321行
Exception Location: C:\Python34\lib\site-packages\import_export\widgets.py in clean, line 321
当我在此处编辑文件widgets.py源代码
When I edit the file here widgets.py source code
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行
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)
请帮助我解决这个问题?
Help me please to solve this problem ???
推荐答案
您正在尝试在此行中拆分浮点值 ids = filter(None,value.split(self.separator))
You are trying to split a float value in this line ids = filter(None, value.split(self.separator))
我认为您可以删除此行.处理 None
大小写并先拆分之前.
I think you can just remove this line. As you handle the None
case and split before.
这篇关于Django AttributeError'float'对象没有属性'split'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!