モジュールをインストールしました。Djangoインポート/エクスポートlink インストールがスムーズに行われました。Django AttributeError 'float'オブジェクトに 'split'属性がありません
はAttributeErrorで/管理/ XXXX/XXXX/process_import/ 「フロート」にはオブジェクト属性「スプリット」
を持っていない:私は拡張子を持つファイルをインポートする際に、今では私に次のエラーが表示さ.XLS例外の場所: C:私はここにwidgets.pyソースコードをファイルを編集する場合、\ Python34 \ libには\サイト - パッケージ\ import_export \ widgets.pyクリーン、ラインで321
ここ
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)
私はこの問題を解決するために助けてください?
この行を削除すると、今すぐ返信いただきありがとうございます。別のエラーが表示されます。仲介モデルを指定するManyToManyFieldに値を設定できません。代わりにtransports.Ligne_Arretのマネージャを使用してください。 –
あなたの質問にそのエラーに関するコードがありません。このエラーは、ManyToMany関係で 'through'引数を使用するために発生します。それでは、関係を作成するのに 'add'を使うことはできません。それについてのドキュメントを参照してください:https://docs.djangoproject.com/es/1.9/topics/db/models/#extra-fields-on-many-to-many-relationships – ilse2005
ありがとう、私はこのドキュメントを読んだが、私は.xlsこのエラーが表示されます。/ admin/xxxx/xxxx/process_importのAttributeError /中間モデルを指定するManyToManyFieldの値を設定できません。代わりにtransports.Ligne_Arretのマネージャを使用してください。例外の場所:\t C:\ Python34 \ lib \ site-packages \ django \ db \ models \ fields \ related_descriptors.py、セット882行目.... –