diff --git a/rog/models.py b/rog/models.py index ea2fc2d..3470ba9 100644 --- a/rog/models.py +++ b/rog/models.py @@ -360,7 +360,8 @@ def publish_date(sender, instance, created, **kwargs): mdl = apps.get_model(app_label="rog", model_name=LAYER_CHOICES[instance.layerof -1][1]) print(mdl) print(f"#### instance.layerof - {instance.layerof}") - with open(csv, "r") as txt_file: + with open(csv, encoding='"utf-8-sig"') as txt_file: + #with open(csv, 'r') as txt_file: lns = txt_file.readlines() for ln in lns: fields = ln.split(",") @@ -375,27 +376,28 @@ def publish_date(sender, instance, created, **kwargs): def updateLineTable(mdl, fields): #print(f"Updated {fields[0]} - {fields[1]}") - mdl.objects.filter(location_id = fields[0]).update( - location_name=fields[1], - category=fields[2], - zip=fields[3], - address=fields[4], - prefecture=fields[5], - area=fields[6], - city=fields[7], - photos=fields[8], - videos=fields[9], - webcontents=fields[10], - status=fields[11], - portal=fields[12], - group=fields[13], - phone=fields[14], - fax=fields[15], - email=fields[16], - facility=fields[17], - remark=fields[18], - tags=fields[19], - parammeters=fields[20] + print(len(fields)) + mdl.objects.filter(location_id = int(fields[0])).update( + location_name= fields[1] if len(fields) > 1 else '', + category=fields[2] if len(fields) > 2 else '', + zip=fields[3] if len(fields) > 3 else '', + address=fields[4] if len(fields) > 4 else '', + prefecture=fields[5] if len(fields) > 5 else '', + area=fields[6] if len(fields) > 6 else '', + city=fields[7] if len(fields) > 7 else '', + photos=fields[8] if len(fields) > 8 else '', + videos=fields[9] if len(fields) > 9 else '', + webcontents=fields[10] if len(fields) > 10 else '', + status=fields[11] if len(fields) > 11 else '', + portal=fields[12] if len(fields) > 12 else '', + group=fields[13] if len(fields) > 13 else '', + phone=fields[14] if len(fields) > 14 else '', + fax=fields[15] if len(fields) > 15 else '', + email=fields[16] if len(fields) > 16 else '', + facility=fields[17] if len(fields) > 17 else '', + remark=fields[18] if len(fields) > 18 else '', + tags=fields[19] if len(fields) > 19 else '', + parammeters=fields[20] if len(fields) > 20 else '' )