0

I have my model

class Essai_Temperature(models.Model):
   name = models.ForeignKey(Material, verbose_name=_('name'))                                    # 
   nature_unit = models.ForeignKey(Property, verbose_name=_('category'))                      # 
   choix = ChainedForeignKey(Physic, verbose_name=_('properties'), null=True, blank=True,
                          related_name='Essai_Temperature_choix',
                          chained_field="nature_unit",
                          chained_model_field="name",
                          show_all=False,
                          auto_choose=True) 
   valT= models.FloatField(_('temperature'),blank=True, null=False)   
   val10= models.FloatField(_('value'), blank=True, null=False)                                               # valeur numerique min
   val_ref= models.CharField(_('reference of the data'), max_length=50, default='0')    

I want to read a csv file and write the data in the database

I have written in the admin file

def import_csv(modeladmin, request, queryset):
    import csv, sys
    filename = 'C:/Users/patrice/Documents/base/data50.csv'
    dataReader = csv.reader(open(filename), delimiter=';', quotechar='"')

    for row in dataReader:
        try:

        essai_temperature = Essai_Temperature()

        essai_temperature.name__name = row[1]
        essai_temperature.nature_unit__name = row[2]
        essai_temperature.choix__lapropriete = row[3]
        essai_temperature.valT = float(row[4]) if row[4] is not None else None 
        essai_temperature.val10 = float(row[5]) if row[5] is not None else None
        essai_temperature.val_ref = row[6]
        essai_temperature.save()

    except csv.Error as e:
        sys.exit('file %s, line %d: %s' % (filename, dataReader.line_num, e))

dataReader.close()

It not work and I have the error :

Exception Value:

could not convert string to float: valT

I do not understand why ?

user3172700
  • 107
  • 2
  • 13

0 Answers0